{"version":3,"sources":["history.js","pages/Assessment/Loading.js","pages/Assessment/Matrix/RiskMatrix.js","pages/Assessment/Matrix/RiskTable/AddDialog.js","pages/Assessment/Matrix/RiskTable/EditDialog.js","pages/Assessment/Matrix/RiskTable/DesktopTable.js","pages/Assessment/Matrix/RiskTable/MobileTable.js","pages/Assessment/Matrix/RiskTable/index.js","store.js","pages/Assessment/Matrix/Title.js","pages/Assessment/Matrix/index.js","pages/Assessment/index.js","pages/Home.js","App.js","assets/risk.png","index.js","grpc/assessments/assessments_pb.js","grpc/risks/risks_pb.js","grpc/assessments/assessments_grpc_web_pb.js","grpc/risks/risks_grpc_web_pb.js"],"names":["createHashHistory","Loading","style","position","top","bottom","left","right","display","justifyContent","alignItems","CircularProgress","RiskMatrix","data","probLabel","React","useState","showPopover","setShowPopover","activeCellIndex","setActiveCellIndex","anchorEl","setAnchorEl","isMobile","useMediaQuery","renderCount","rowIndex","colIndex","count","probability","impact","forEach","risk","getCountFromIndex","Chip","onClick","event","target","handleClick","currentTarget","label","backgroundColor","color","fontWeight","size","open","d","push","getDataFromIndex","Popover","onClose","List","padding","map","ListItem","Typography","id","name","renderPopovers","Table","marginBottom","tableLayout","TableHead","TableRow","TableCell","el","TableBody","row","cell","score","textAlign","border","AddDialog","show","onAdd","details","addDialog","setAddDialog","close","Dialog","fullWidth","maxWidth","fullScreen","DialogTitle","DialogContent","FormControl","TextField","autoFocus","value","onChange","InputLabel","Select","labelId","MenuItem","InputProps","readOnly","multiline","minRows","DialogActions","Button","variant","disabled","EditDialog","visible","onEdit","state","setState","useEffect","DesktopTable","setShowAddDialog","setEditDialog","onDelete","popoverDetails","setPopoverDetails","useRef","current","Fab","Add","ButtonBase","str","num","length","slice","createdOn","format","updatedOn","Box","sx","ml","mt","Info","fontSize","IconButton","Edit","Delete","MobileTable","collapse","setCollapse","Fragment","ExpandLess","ExpandMore","paddingBottom","paddingTop","borderBottom","colSpan","Collapse","in","timeout","unmountOnExit","margin","align","handleEdit","RiskTable","showAddDialog","editDialog","prevState","Link","component","download","href","encodeURI","fields","Object","keys","replacer","key","csv","fieldName","JSON","stringify","join","unshift","toCSV","float","GetApp","storeClientHost","window","location","origin","dayjs","extend","LocalizedFormat","riskDataObject","assessmentStates","assessmentDataObject","assessment","slug","description","CreateStore","store","assessmentService","AssessmentServiceClient","riskService","RiskServiceClient","getAssessment","Promise","resolve","reject","req","AssessmentGetRequest","setSlug","get","err","resp","array","createAssessment","AssessmentSaveRequest","Assessment","short","generate","setName","setDescription","setAssessment","save","editAssessment","updateState","AssessmentUpdateStateRequest","getLatestAssessments","amount","AssessmentGetLatestRequest","setNumberOfAssessments","getLatest","a","getRisks","RiskGetAllAssessmentRequest","setAssessmentSlug","getFromAssessment","riskData","r","assessmentData","addRisk","RiskSaveRequest","Risk","setProbability","setImpact","setRisk","editRisk","setId","deleteRisk","RiskDeleteRequest","setRiskId","delete","Title","title","dialogVisible","setDialogVisible","dialogTitle","setDialogTitle","dialogDescription","setDialogDescription","dialogState","setDialogState","my","flexDirection","Matrix","onEditAssessment","Container","handleAdd","console","log","riskId","handleDelete","filter","handleEditAssessment","assessmentState","init","exact","to","Home","onCreate","latestAssessments","setLatestAssessments","history","useHistory","Grid","container","spacing","item","xs","sm","e","withStyles","theme","toolbar","mixins","classes","className","path","props","match","params","rootElement","document","getElementById","ReactDOM","render","basename","AppBar","Toolbar","src","logo","height","alt","jspb","require","goog","global","Function","exportSymbol","proto","riskmanager","api","assessments","v1","opt_data","Message","initialize","this","inherits","DEBUG","COMPILED","displayName","AssessmentSaveReply","AssessmentGetReply","AssessmentDeleteRequest","AssessmentDeleteReply","AssessmentSearchRequest","AssessmentSearchReply","repeatedFields_","AssessmentSearchHit","AssessmentGetLatestReply","AssessmentUpdateStateReply","GENERATE_TO_OBJECT","prototype","toObject","opt_includeInstance","includeInstance","msg","obj","getFieldWithDefault","created","updated","owner","pb_class","$jspbMessageInstance","deserializeBinary","bytes","reader","BinaryReader","deserializeBinaryFromReader","nextField","isEndGroup","getFieldNumber","readString","setCreated","setUpdated","setOwner","setClass","readEnum","skipField","serializeBinary","writer","BinaryWriter","serializeBinaryToWriter","getResultBuffer","message","f","undefined","getName","writeString","getSlug","getDescription","getCreated","getUpdated","getOwner","getClass","getState","writeEnum","setProto3StringField","setProto3EnumField","readMessage","writeMessage","getWrapperField","setWrapperField","clearAssessment","hasAssessment","getField","deleted","getBooleanFieldWithDefault","readBool","setDeleted","getDeleted","writeBool","setProto3BooleanField","searchTerm","setSearchTerm","getSearchTerm","searchHitsList","toObjectList","getSearchHitsList","addSearchHits","writeRepeatedMessage","getRepeatedWrapperField","setSearchHitsList","setRepeatedWrapperField","opt_value","opt_index","addToRepeatedWrapperField","clearSearchHitsList","setMatch","getMatch","numberOfAssessments","readInt32","getNumberOfAssessments","writeInt32","setProto3IntField","assessmentsList","getAssessmentsList","addAssessments","setAssessmentsList","clearAssessmentsList","success","setSuccess","getSuccess","State","CREATE","UPDATE","PLAN","DO","REVIEW","object","exports","assessments_assessments_pb","risks","RiskSaveReply","RiskGetRequest","RiskGetReply","RiskGetAllAssessmentReply","RiskGetLatestRequest","RiskGetLatestReply","RiskDeleteReply","RiskSearchRequest","RiskSearchReply","RiskSearchHit","getId","getProbability","getImpact","getRisk","assessmentSlug","getAssessmentSlug","clearRisk","hasRisk","getRiskId","assessmentName","setAssessmentName","getAssessmentName","risksList","getRisksList","addRisks","setRisksList","clearRisksList","numberOfRisks","setNumberOfRisks","getNumberOfRisks","grpc","web","hostname","credentials","options","client_","GrpcWebClientBase","hostname_","AssessmentServicePromiseClient","methodDescriptor_AssessmentService_Save","MethodDescriptor","MethodType","UNARY","request","metadata","callback","rpcCall","unaryCall","methodDescriptor_AssessmentService_Get","methodDescriptor_AssessmentService_Delete","methodDescriptor_AssessmentService_Search","search","methodDescriptor_AssessmentService_GetLatest","methodDescriptor_AssessmentService_UpdateState","module","RiskServicePromiseClient","methodDescriptor_RiskService_Save","methodDescriptor_RiskService_Get","methodDescriptor_RiskService_GetFromAssessment","methodDescriptor_RiskService_GetLatest","methodDescriptor_RiskService_Delete","methodDescriptor_RiskService_Search"],"mappings":"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","file":"static/js/main.9dfba5ac.chunk.js","sourcesContent":["import { createHashHistory } from 'history';\n\nexport default createHashHistory();\n","import React from 'react';\nimport { CircularProgress } from '@material-ui/core';\n\nconst Loading = () => (\n
\n \n
\n);\n\nexport default Loading;\n","import React from 'react';\nimport {\n Chip,\n List,\n ListItem,\n Popover,\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n Typography,\n useMediaQuery,\n} from '@material-ui/core';\n\nconst RiskMatrix = ({ data }) => {\n // \\xa0 is non breaking space\n const impactLabel = [\n 'Catastrophic\\xa0(5)',\n 'Critical\\xa0(4)',\n 'Moderate\\xa0(3)',\n 'Marginal\\xa0(2)',\n 'Negligible\\xa0(1)',\n ];\n\n const probLabel = [\n 'Frequent (5)',\n 'Probable (4)',\n 'Occasional (3)',\n 'Remote (2)',\n 'Improbable (1)',\n ];\n const scoreLabel = [\n [-25, -20, -15, -10, -8],\n [-20, -18, -12, -8, -4],\n [-15, -12, -9, -6, -3],\n [-10, -8, -6, -4, -2],\n [-5, -4, -3, -2, -1],\n ];\n\n const matrixCellStyle = (score) => {\n let backgroundColor;\n\n if (score <= -20) {\n backgroundColor = '#E13524';\n } else if (score <= -10) {\n backgroundColor = '#FEBC28';\n } else if (score <= -4) {\n backgroundColor = '#E7E849';\n } else {\n backgroundColor = '#78C043';\n }\n\n const style = {\n color: '#fff',\n textAlign: 'center',\n border: '1px #fff solid',\n backgroundColor,\n };\n return style;\n };\n\n const [showPopover, setShowPopover] = React.useState(false);\n\n // Array with [rowIndex, colIndex] to show which popover is active.\n const [activeCellIndex, setActiveCellIndex] = React.useState([0, 0]);\n const [anchorEl, setAnchorEl] = React.useState(null);\n\n const isMobile = useMediaQuery('(max-width:850px)');\n const handleClick = (rowIndex, colIndex, target) => {\n setAnchorEl(target);\n setActiveCellIndex([rowIndex, colIndex]);\n setShowPopover(true);\n };\n const getCountFromIndex = (rowIndex, colIndex) => {\n // Row Index and Column Indexes are ranging between 0 to 4, 0 being\n // highest probable and impactful, however data is ranging from\n // 1 to 5, 5 being highest probable and impactful\n // Subtracting 5 from index gives appropriate data value\n\n const probability = 5 - rowIndex;\n const impact = 5 - colIndex;\n let count = 0;\n data.forEach((risk) => {\n if (risk.probability === probability && risk.impact === impact) {\n count += 1;\n }\n });\n return count;\n };\n const renderCount = (rowIndex, colIndex) => {\n const count = getCountFromIndex(rowIndex, colIndex);\n return (count > 0) && (\n {\n handleClick(rowIndex, colIndex, event.currentTarget);\n }}\n label={count}\n style={{ backgroundColor: '#fff', color: '#000', fontWeight: 'bold' }}\n size=\"small\"\n />\n );\n };\n\n const getDataFromIndex = (rowIndex, colIndex) => {\n // See comment at getCountFromIndex()\n const probability = 5 - rowIndex;\n const impact = 5 - colIndex;\n const d = [];\n d.forEach((risk) => {\n if (risk.probability === probability && risk.impact === impact) {\n d.push(risk);\n }\n });\n return d;\n };\n const renderPopovers = () => {\n const open = showPopover;\n const rowIndex = activeCellIndex[0];\n const colIndex = activeCellIndex[1];\n const d = getDataFromIndex(rowIndex, colIndex);\n\n return (\n {\n setShowPopover(false);\n }}\n >\n \n {d.map((risk) => (\n \n \n {risk.id}\n .\n {risk.name}\n \n \n ))}\n \n \n );\n };\n return (\n <>\n {renderPopovers()}\n \n {isMobile ? (\n ''\n ) : (\n \n \n Probability / Impact\n {impactLabel.map((el) => (\n {el}\n ))}\n \n \n )}\n \n {scoreLabel.map((row, rowIndex) => (\n \n {isMobile ? '' : {probLabel[rowIndex]}}\n {row.map((cell, colIndex) => (\n \n {renderCount(rowIndex, colIndex)}\n \n ))}\n \n ))}\n \n
\n \n );\n};\n\nexport default RiskMatrix;\n","import React, { useState } from 'react';\nimport {\n Button,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n FormControl,\n InputLabel,\n List,\n ListItem,\n MenuItem,\n Select,\n TextField,\n useMediaQuery,\n} from '@material-ui/core';\n\nconst AddDialog = ({ show, onAdd, onClose }) => {\n const [addDialog, setAddDialog] = useState({\n name: '',\n probability: '',\n impact: '',\n details: '',\n });\n const close = () => {\n setAddDialog({\n name: '',\n probability: '',\n impact: '',\n details: '',\n });\n onClose();\n };\n\n const isMobile = useMediaQuery('(max-width:850px)');\n\n return (\n \n {show && (\n <>\n Add Item\n \n \n \n \n {\n setAddDialog({ ...addDialog, name: event.target.value });\n }}\n />\n \n \n \n \n Probability\n {\n setAddDialog({\n ...addDialog,\n probability: event.target.value,\n });\n }}\n >\n 1\n 2\n 3\n 4\n 5\n \n \n \n \n \n Impact\n {\n setAddDialog({\n ...addDialog,\n impact: event.target.value,\n });\n }}\n >\n 1\n 2\n 3\n 4\n 5\n \n \n \n \n \n \n \n \n \n \n {\n setAddDialog({ ...addDialog, details: event.target.value });\n }}\n />\n \n \n \n \n \n \n {\n onAdd(\n addDialog.name,\n addDialog.probability,\n addDialog.impact,\n addDialog.details,\n );\n close();\n }}\n variant=\"contained\"\n >\n Add\n \n \n \n )}\n \n );\n};\n\nexport default AddDialog;\n","import React, { useEffect } from 'react';\nimport {\n Button,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n FormControl,\n InputLabel,\n List,\n ListItem,\n MenuItem,\n Select,\n TextField,\n useMediaQuery,\n} from '@material-ui/core';\n\nconst EditDialog = ({\n visible, risk, onEdit, onClose,\n}) => {\n const [state, setState] = React.useState({});\n\n useEffect(() => {\n if (visible) {\n setState(risk);\n }\n }, [visible, risk]);\n\n const handleEdit = () => {\n onEdit(\n state.id,\n state.name,\n state.probability,\n state.impact,\n state.details,\n );\n onClose();\n };\n\n const isMobile = useMediaQuery('(max-width:850px)');\n\n return (\n \n {visible && (\n <>\n Edit Item\n \n \n \n \n {\n setState({ ...state, name: event.target.value });\n }}\n />\n \n \n \n \n \n Probability\n \n {\n setState({\n ...state,\n probability: event.target.value,\n });\n }}\n >\n 1\n 2\n 3\n 4\n 5\n \n \n \n \n \n Impact\n {\n setState({\n ...state,\n impact: event.target.value,\n });\n }}\n >\n 1\n 2\n 3\n 4\n 5\n \n \n \n \n \n \n \n \n \n \n {\n setState({\n ...state,\n details: event.target.value,\n });\n }}\n />\n \n \n \n \n \n \n \n Update\n \n \n \n )}\n \n );\n};\n\nexport default EditDialog;\n","import React, { useRef, useState } from 'react';\nimport {\n Box,\n ButtonBase,\n Fab,\n IconButton,\n Popover,\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n Typography,\n} from '@material-ui/core';\n\nimport {\n Add,\n Edit,\n Delete,\n Info,\n} from '@material-ui/icons';\n\nconst truncateString = (str, num) => {\n // If the length of str is less than or equal to num\n // just return str--don't truncate it.\n if (str.length <= num) {\n return str;\n }\n // Return str truncated with '...' concatenated to the end of str.\n return `${str.slice(0, num)}...`;\n};\n\nconst DesktopTable = ({\n data,\n setShowAddDialog,\n setEditDialog,\n onDelete,\n}) => {\n const [showPopover, setShowPopover] = useState(false);\n const [popoverDetails, setPopoverDetails] = useState(0);\n const anchorEl = useRef(null);\n\n const renderPopover = () => (\n {\n setShowPopover(false);\n }}\n >\n {popoverDetails}\n \n );\n return (\n <>\n { renderPopover() }\n \n \n \n Name\n Probability\n Impact\n Score\n Details\n \n {\n setShowAddDialog(true);\n }}\n >\n \n \n \n \n \n \n {data.map((risk) => (\n \n {risk.name}\n {risk.probability}\n {risk.impact}\n {risk.probability * risk.impact}\n \n {\n anchorEl.current = event.target;\n setShowPopover(true);\n setPopoverDetails(risk.details);\n }}\n >\n \n {risk.details && truncateString(risk.details, 20)}\n \n \n {\n anchorEl.current = event.target;\n setShowPopover(true);\n setPopoverDetails(\n <>\n Created on:\n {' '}\n {risk.createdOn.format('L')}\n {!!(risk.createdOn - risk.updatedOn)\n && (\n <>\n
\n Updated on:\n {' '}\n {risk.updatedOn.format('L')}\n \n )}\n ,\n );\n }}\n >\n \n \n \n \n
\n \n {\n setEditDialog({\n visible: true,\n risk: {\n id: risk.id,\n name: risk.name,\n probability: risk.probability,\n impact: risk.impact,\n details: risk.details,\n },\n });\n }}\n >\n \n \n {\n onDelete(risk.id);\n }}\n >\n \n \n \n
\n ))}\n
\n
\n \n );\n};\n\nexport default DesktopTable;\n","import React, { useRef, useState } from 'react';\nimport {\n Box,\n ButtonBase,\n Collapse,\n Fab,\n IconButton,\n Popover,\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n Typography,\n} from '@material-ui/core';\n\nimport {\n Add,\n Edit,\n ExpandMore,\n ExpandLess,\n Delete,\n Info,\n} from '@material-ui/icons';\n\nconst MobileTable = ({\n data,\n setShowAddDialog,\n setEditDialog,\n onDelete,\n}) => {\n const [collapse, setCollapse] = useState({ id: 0, show: false });\n const [showPopover, setShowPopover] = useState(false);\n const [popoverDetails, setPopoverDetails] = useState(0);\n const anchorEl = useRef(null);\n\n const renderPopover = () => (\n {\n setShowPopover(false);\n }}\n >\n {popoverDetails}\n \n );\n\n const handleEdit = (risk) => {\n setEditDialog({\n visible: true,\n risk: {\n id: risk.id,\n name: risk.name,\n probability: risk.probability,\n impact: risk.impact,\n details: risk.details,\n },\n });\n };\n\n return (\n <>\n {renderPopover()}\n \n \n \n Name\n Probability\n Impact\n \n {\n setShowAddDialog(true);\n }}\n >\n \n \n \n \n \n \n {data.map((risk) => (\n \n \n {risk.name}\n {risk.probability}\n {risk.impact}\n \n {collapse.id === risk.id && collapse.show ? (\n {\n setCollapse({ id: 0, show: false });\n }}\n >\n \n \n ) : (\n {\n setCollapse({ id: risk.id, show: true });\n }}\n >\n \n \n )}\n \n \n \n \n \n \n
\n \n \n ID\n {risk.id}\n \n \n Score\n \n {risk.probability * risk.impact}\n \n \n \n Details\n \n {risk.details}\n {\n anchorEl.current = event.target;\n setShowPopover(true);\n setPopoverDetails(\n <>\n Created on:\n {' '}\n {risk.createdOn.format('L')}\n {!!(risk.createdOn - risk.updatedOn) && (\n <>\n
\n Updated on:\n {' '}\n {risk.updatedOn.format('L')}\n \n )}\n ,\n );\n }}\n >\n \n \n \n \n
\n
\n \n \n {\n onDelete(risk.id);\n }}\n >\n \n \n \n \n { handleEdit(risk); }}\n >\n \n \n \n \n
\n
\n \n \n \n \n \n ))}\n \n \n \n );\n};\n\nexport default MobileTable;\n","import React from 'react';\nimport {\n IconButton,\n Link,\n useMediaQuery,\n} from '@material-ui/core';\n\nimport {\n GetApp,\n} from '@material-ui/icons';\n\nimport AddDialog from './AddDialog';\nimport EditDialog from './EditDialog';\nimport DesktopTable from './DesktopTable';\nimport MobileTable from './MobileTable';\n\nconst RiskTable = ({\n data,\n onAdd,\n onEdit,\n onDelete,\n}) => {\n const [showAddDialog, setShowAddDialog] = React.useState(false);\n const [editDialog, setEditDialog] = React.useState({\n visible: false,\n risk: {\n id: 0,\n name: '',\n probability: '',\n impact: '',\n details: '',\n },\n });\n\n const isMobile = useMediaQuery('(max-width:850px)');\n const toCSV = (d) => {\n const fields = Object.keys(d[0]);\n const replacer = (key, value) => (value === null ? '' : value);\n let csv = d.map((row) => fields\n .map((fieldName) => JSON.stringify(row[fieldName], replacer))\n .join(','));\n\n csv.unshift(fields.join(',')); // add header column\n csv = csv.join('\\r\\n');\n return csv;\n };\n\n const handleEditClose = () => {\n setEditDialog((prevState) => ({\n ...prevState,\n visible: false,\n }));\n };\n const handleAddClose = () => {\n setShowAddDialog(false);\n };\n\n return (\n <>\n \n \n {isMobile ? (\n \n ) : (\n \n )}\n {data && data.length > 0 ? (\n \n \n \n ) : (\n ''\n )}\n \n );\n};\n\nexport default RiskTable;\n","import dayjs from 'dayjs';\nimport LocalizedFormat from 'dayjs/plugin/localizedFormat';\nimport short from 'short-uuid';\nimport {\n Assessment,\n AssessmentSaveRequest,\n AssessmentGetRequest,\n AssessmentGetLatestRequest,\n AssessmentUpdateStateRequest,\n} from './grpc/assessments/assessments_pb';\nimport {\n Risk,\n RiskDeleteRequest,\n RiskGetAllAssessmentRequest,\n RiskSaveRequest,\n} from './grpc/risks/risks_pb';\nimport { AssessmentServiceClient } from './grpc/assessments/assessments_grpc_web_pb';\nimport { RiskServiceClient } from './grpc/risks/risks_grpc_web_pb';\n\nconst { NODE_ENV } = process.env;\n\nconst storeClientHost = NODE_ENV === 'development'\n ? 'http://localhost:8001/rpc'\n : `${window.location.origin}/rpc`;\n\ndayjs.extend(LocalizedFormat);\n\nconst riskDataObject = (risk) => ({\n id: risk[0],\n name: risk[1],\n details: risk[2],\n probability: risk[3],\n impact: risk[4],\n createdOn: dayjs(risk[5]),\n updatedOn: dayjs(risk[6]),\n});\n\nexport const assessmentStates = ['Create', 'Update', 'Plan', 'Do', 'Review'];\n\nconst assessmentDataObject = (assessment) => ({\n name: assessment[0],\n slug: assessment[1],\n description: assessment[2],\n createdOn: dayjs(assessment[3]),\n updatedOn: dayjs(assessment[4]),\n state: assessment[7] || 0,\n});\n\nconst CreateStore = () => {\n const assessmentService = new AssessmentServiceClient(storeClientHost);\n const riskService = new RiskServiceClient(storeClientHost);\n const store = {\n assessmentService,\n riskService,\n getAssessment: (slug) => new Promise((resolve, reject) => {\n const req = new AssessmentGetRequest();\n req.setSlug(slug);\n store.assessmentService.get(req, {}, (err, resp) => {\n if (err) {\n reject(err);\n } else {\n resolve(assessmentDataObject(resp.array[0]));\n }\n });\n }),\n createAssessment: (name, description) => new Promise((resolve, reject) => {\n const req = new AssessmentSaveRequest();\n const assessment = new Assessment();\n assessment.setSlug(short.generate());\n assessment.setName(name);\n assessment.setDescription(description);\n req.setAssessment(assessment);\n store.assessmentService.save(req, {}, (err, resp) => {\n if (err) {\n reject(err);\n } else {\n resolve(assessmentDataObject(resp.array[0]));\n }\n });\n }),\n editAssessment: (slug, name, description) => new Promise((resolve, reject) => {\n const req = new AssessmentSaveRequest();\n const assessment = new Assessment();\n assessment.setSlug(slug);\n assessment.setName(name);\n assessment.setDescription(description);\n req.setAssessment(assessment);\n store.assessmentService.save(req, {}, (err, resp) => {\n if (err) {\n reject(err);\n } else {\n resolve(assessmentDataObject(resp.array[0]));\n }\n });\n }),\n updateState: (slug, state) => new Promise((resolve, reject) => {\n const req = new AssessmentUpdateStateRequest();\n req.setSlug(slug);\n req.setState(state);\n store.assessmentService.updateState(req, {}, (err, resp) => {\n if (err) {\n reject(err);\n } else {\n resolve(resp.array[0]);\n }\n });\n }),\n getLatestAssessments: (amount = 5) => new Promise((resolve, reject) => {\n const req = new AssessmentGetLatestRequest();\n req.setNumberOfAssessments(amount);\n store.assessmentService.getLatest(req, {}, (err, resp) => {\n if (err) {\n reject(err);\n } else {\n resolve(resp.array[0].map((a) => assessmentDataObject(a)));\n }\n });\n }),\n getRisks: (slug) => new Promise((resolve, reject) => {\n const req = new RiskGetAllAssessmentRequest();\n req.setAssessmentSlug(slug);\n store.riskService.getFromAssessment(req, {}, (err, resp) => {\n if (err) {\n reject(err);\n } else {\n resolve({\n riskData: resp.array[1].map((r) => riskDataObject(r)),\n assessmentData: assessmentDataObject(resp.array[0]),\n });\n }\n });\n }),\n addRisk: (slug, riskData) => new Promise((resolve, reject) => {\n const req = new RiskSaveRequest();\n const risk = new Risk();\n\n risk.setName(riskData.name);\n risk.setProbability(riskData.probability);\n risk.setImpact(riskData.impact);\n risk.setDescription(riskData.details);\n req.setAssessmentSlug(slug);\n req.setRisk(risk);\n\n store.riskService.save(req, {}, (err, resp) => {\n if (err) {\n reject(err);\n } else {\n resolve(riskDataObject(resp.array[0]));\n }\n });\n }),\n editRisk: (slug, riskData) => new Promise((resolve, reject) => {\n const req = new RiskSaveRequest();\n const risk = new Risk();\n\n risk.setId(riskData.id);\n risk.setName(riskData.name);\n risk.setProbability(riskData.probability);\n risk.setImpact(riskData.impact);\n risk.setDescription(riskData.details);\n req.setAssessmentSlug(slug);\n req.setRisk(risk);\n\n store.riskService.save(req, {}, (err, resp) => {\n if (err) {\n reject(err);\n } else {\n resolve(riskDataObject(resp.array[0]));\n }\n });\n }),\n deleteRisk: (riskData) => new Promise((resolve, reject) => {\n const req = new RiskDeleteRequest();\n req.setRiskId(riskData.id);\n store.riskService.delete(req, {}, (err, resp) => {\n if (err) {\n reject(err);\n } else {\n resolve(riskDataObject(resp.array[0]));\n }\n });\n }),\n };\n return store;\n};\n\nexport default CreateStore;\n","import React, { useState } from 'react';\nimport {\n Box,\n Button,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n FormControl,\n InputLabel,\n List,\n ListItem,\n MenuItem,\n Select,\n TextField,\n Typography,\n} from '@material-ui/core';\nimport { Edit } from '@material-ui/icons';\nimport { assessmentStates } from '../../../store';\n\nconst Title = ({\n title,\n description,\n onChange,\n createdOn,\n state,\n updatedOn,\n}) => {\n const [dialogVisible, setDialogVisible] = useState(false);\n const [dialogTitle, setDialogTitle] = useState(title);\n const [dialogDescription, setDialogDescription] = useState(description);\n const [dialogState, setDialogState] = useState(state);\n return (\n <>\n \n \n \n {title || 'Untitled Assessment'}\n \n {\n setDialogTitle(title);\n setDialogDescription(description);\n setDialogVisible(true);\n }}\n >\n \n \n \n \n {description || 'No description'}\n \n \n Created on:\n {' '}\n {createdOn.format('L')}\n \n {!!(createdOn - updatedOn) && (\n \n Updated on:\n {' '}\n {updatedOn.format('L')}\n \n )}\n \n State:\n {' '}\n {assessmentStates[state]}\n \n \n setDialogVisible(false)}>\n Edit Assessment\n \n \n \n \n {\n setDialogTitle(event.target.value);\n }}\n />\n \n \n \n \n {\n setDialogDescription(event.target.value);\n }}\n />\n \n \n \n \n State\n {\n setDialogState(event.target.value);\n }}\n >\n {assessmentStates[0]}\n {assessmentStates[1]}\n {assessmentStates[2]}\n {assessmentStates[3]}\n {assessmentStates[4]}\n \n \n \n \n \n \n setDialogVisible(false)}\n >\n Cancel\n \n {\n onChange(dialogTitle, dialogDescription, dialogState);\n setDialogVisible(false);\n }}\n variant=\"contained\"\n >\n Update\n \n \n \n \n );\n};\nexport default Title;\n","import React from 'react';\nimport {\n Container,\n} from '@material-ui/core';\nimport RiskMatrix from './RiskMatrix';\nimport RiskTable from './RiskTable';\nimport Title from './Title';\n\nconst Matrix = ({\n assessmentData,\n onEditAssessment,\n riskData,\n onAdd,\n onDelete,\n onEdit,\n}) => (\n \n \n \n \n \n);\nexport default Matrix;\n","/* eslint-disable no-console */\nimport React, { useState, useEffect } from 'react';\nimport { Redirect } from 'react-router';\nimport Loading from './Loading';\nimport Matrix from './Matrix';\nimport CreateStore from '../../store';\n\nconst Assessment = ({ id }) => {\n const [state, setState] = useState({\n riskData: [],\n assessmentData: {},\n component: 'loading',\n });\n const store = CreateStore();\n\n const handleAdd = async (name, probability, impact, details) => {\n try {\n await store.addRisk(id, {\n name,\n probability,\n impact,\n details,\n });\n const { riskData } = await store.getRisks(id);\n setState({ ...state, riskData });\n } catch (err) {\n console.log('err', err);\n }\n };\n\n const handleEdit = async (riskId, name, probability, impact, details) => {\n try {\n await store.editRisk(id, {\n id: riskId,\n name,\n probability,\n impact,\n details,\n });\n const { riskData } = await store.getRisks(id);\n setState({ ...state, riskData });\n } catch (err) {\n console.log('err', err);\n }\n };\n\n const handleDelete = async (riskId) => {\n try {\n const risk = state.riskData.filter((r) => r.id === riskId)[0];\n await store.deleteRisk(risk);\n const { riskData } = await store.getRisks(id);\n setState({ ...state, riskData });\n } catch (err) {\n console.log('err', err);\n }\n };\n\n const handleEditAssessment = async (title, description, assessmentState) => {\n try {\n let shouldUpdateAssessmentState;\n const assessment = await store.editAssessment(state.assessmentData.slug, title, description);\n if (assessmentState !== state.assessmentData?.state) {\n shouldUpdateAssessmentState = await store.updateState(\n state.assessmentData.slug,\n assessmentState,\n );\n if (shouldUpdateAssessmentState) {\n assessment.state = assessmentState;\n }\n }\n setState({ ...state, assessmentData: assessment });\n } catch (err) {\n console.log('err', err);\n }\n };\n\n useEffect(() => {\n const init = async () => {\n try {\n const assessmentData = await store.getAssessment(id);\n const { riskData } = await store.getRisks(id);\n setState({\n riskData,\n assessmentData,\n component: 'matrix',\n });\n } catch (err) {\n console.log('err', err);\n setState({ riskData: [], component: 'redirect' });\n }\n };\n init();\n }, []);\n\n return state.component === 'loading' ? : (state.component === 'matrix' ? (\n \n ) : );\n};\n\nexport default Assessment;\n","import React, { useEffect, useRef, useState } from 'react';\nimport {\n Button,\n ButtonBase,\n Container,\n TextField,\n Grid,\n Typography,\n Box,\n TableHead,\n Table,\n TableRow,\n TableCell,\n TableBody,\n Popover,\n} from '@material-ui/core';\nimport { useHistory } from 'react-router';\nimport { Info } from '@material-ui/icons';\nimport Loading from './Assessment/Loading';\n\nconst Home = ({ onCreate, getLatest }) => {\n const [name, setName] = useState();\n const [description, setDescription] = useState();\n const [showPopover, setShowPopover] = useState(false);\n const [popoverDetails, setPopoverDetails] = useState(0);\n const [latestAssessments, setLatestAssessments] = useState();\n const anchorEl = useRef(null);\n const history = useHistory();\n\n const init = async () => {\n try {\n const resp = await getLatest();\n setLatestAssessments(resp || []);\n } catch (err) {\n setLatestAssessments([]);\n }\n };\n\n useEffect(() => {\n init();\n }, []);\n\n const renderPopover = () => (\n {\n setShowPopover(false);\n }}\n >\n {popoverDetails}\n \n );\n return (\n \n \n Create a New Assessment\n \n \n \n setName(e.target.value)}\n />\n \n \n setDescription(e.target.value)}\n />\n \n \n onCreate({ name, description })}\n >\n Create\n \n \n \n \n {!latestAssessments ? (\n \n ) : (\n latestAssessments.length !== 0 && (\n <>\n {renderPopover()}\n Latest Assessments\n \n \n \n Name\n Description\n \n \n \n {latestAssessments.map((a) => (\n \n \n history.push(`/a/${a.slug}`)}\n >\n \n {a.name || 'Untitled Assessment'}\n \n \n \n \n history.push(`/a/${a.slug}`)}\n >\n \n {a.description || 'No description'}\n \n \n {\n anchorEl.current = event.target;\n setShowPopover(true);\n setPopoverDetails(\n <>\n Created on:\n {' '}\n {a.createdOn.format('L')}\n {!!(a.createdOn - a.updatedOn)\n && (\n <>\n
\n Updated on:\n {' '}\n {a.updatedOn.format('L')}\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 Home;\n","import React from 'react';\nimport { withStyles } from '@material-ui/core';\nimport {\n Route, Switch,\n} from 'react-router-dom';\nimport history from './history';\nimport Assessment from './pages/Assessment';\nimport Home from './pages/Home';\nimport CreateStore from './store';\n\nconst styles = (theme) => ({\n // Load app bar information from the theme\n toolbar: theme.mixins.toolbar,\n});\n\nconst App = ({ classes }) => {\n const store = CreateStore();\n\n const onCreate = async ({ name, description }) => {\n try {\n const resp = await store.createAssessment(name, description);\n // eslint-disable-next-line no-console\n console.log('Got resp', resp);\n history.push(`/a/${resp.slug}`);\n } catch (err) {\n // eslint-disable-next-line no-console\n console.log('err', err);\n }\n };\n\n return (\n <>\n {/* Padding for the App Bar */}\n
\n\n \n \n \n \n \n {(props) => }\n \n \n\n \n );\n};\n\nexport default withStyles(styles)(App);\n","export default __webpack_public_path__ + \"static/media/risk.9924b8a6.png\";","import { AppBar, Toolbar } from '@material-ui/core';\nimport React, { StrictMode } from 'react';\nimport ReactDOM from 'react-dom';\nimport { Link, Router } from 'react-router-dom';\nimport App from './App';\nimport history from './history';\nimport CreateStore from './store';\nimport logo from './assets/risk.png';\n\nconst store = CreateStore();\n\nconst rootElement = document.getElementById('root');\nReactDOM.render(\n \n \n \n \n \n \"logo\"\n \n \n \n \n \n ,\n rootElement,\n);\n","// source: assessments/assessments.proto\n/**\n * @fileoverview\n * @enhanceable\n * @suppress {missingRequire} reports error on implicit type usages.\n * @suppress {messageConventions} JS Compiler reports an error if a variable or\n * field starts with 'MSG_' and isn't a translatable message.\n * @public\n */\n// GENERATED CODE -- DO NOT EDIT!\n/* eslint-disable */\n// @ts-nocheck\n\nvar jspb = require('google-protobuf');\nvar goog = jspb;\nvar global = Function('return this')();\n\ngoog.exportSymbol('proto.riskmanager.api.assessments.v1.Assessment', null, global);\ngoog.exportSymbol('proto.riskmanager.api.assessments.v1.AssessmentDeleteReply', null, global);\ngoog.exportSymbol('proto.riskmanager.api.assessments.v1.AssessmentDeleteRequest', null, global);\ngoog.exportSymbol('proto.riskmanager.api.assessments.v1.AssessmentGetLatestReply', null, global);\ngoog.exportSymbol('proto.riskmanager.api.assessments.v1.AssessmentGetLatestRequest', null, global);\ngoog.exportSymbol('proto.riskmanager.api.assessments.v1.AssessmentGetReply', null, global);\ngoog.exportSymbol('proto.riskmanager.api.assessments.v1.AssessmentGetRequest', null, global);\ngoog.exportSymbol('proto.riskmanager.api.assessments.v1.AssessmentSaveReply', null, global);\ngoog.exportSymbol('proto.riskmanager.api.assessments.v1.AssessmentSaveRequest', null, global);\ngoog.exportSymbol('proto.riskmanager.api.assessments.v1.AssessmentSearchHit', null, global);\ngoog.exportSymbol('proto.riskmanager.api.assessments.v1.AssessmentSearchReply', null, global);\ngoog.exportSymbol('proto.riskmanager.api.assessments.v1.AssessmentSearchRequest', null, global);\ngoog.exportSymbol('proto.riskmanager.api.assessments.v1.AssessmentUpdateStateReply', null, global);\ngoog.exportSymbol('proto.riskmanager.api.assessments.v1.AssessmentUpdateStateRequest', null, global);\ngoog.exportSymbol('proto.riskmanager.api.assessments.v1.State', null, global);\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.riskmanager.api.assessments.v1.Assessment = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.riskmanager.api.assessments.v1.Assessment, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.riskmanager.api.assessments.v1.Assessment.displayName = 'proto.riskmanager.api.assessments.v1.Assessment';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.riskmanager.api.assessments.v1.AssessmentSaveRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.riskmanager.api.assessments.v1.AssessmentSaveRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.riskmanager.api.assessments.v1.AssessmentSaveRequest.displayName = 'proto.riskmanager.api.assessments.v1.AssessmentSaveRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.riskmanager.api.assessments.v1.AssessmentSaveReply = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.riskmanager.api.assessments.v1.AssessmentSaveReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.riskmanager.api.assessments.v1.AssessmentSaveReply.displayName = 'proto.riskmanager.api.assessments.v1.AssessmentSaveReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.riskmanager.api.assessments.v1.AssessmentGetRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.riskmanager.api.assessments.v1.AssessmentGetRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.riskmanager.api.assessments.v1.AssessmentGetRequest.displayName = 'proto.riskmanager.api.assessments.v1.AssessmentGetRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.riskmanager.api.assessments.v1.AssessmentGetReply = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.riskmanager.api.assessments.v1.AssessmentGetReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.riskmanager.api.assessments.v1.AssessmentGetReply.displayName = 'proto.riskmanager.api.assessments.v1.AssessmentGetReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.riskmanager.api.assessments.v1.AssessmentDeleteRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.riskmanager.api.assessments.v1.AssessmentDeleteRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.riskmanager.api.assessments.v1.AssessmentDeleteRequest.displayName = 'proto.riskmanager.api.assessments.v1.AssessmentDeleteRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.riskmanager.api.assessments.v1.AssessmentDeleteReply = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.riskmanager.api.assessments.v1.AssessmentDeleteReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.riskmanager.api.assessments.v1.AssessmentDeleteReply.displayName = 'proto.riskmanager.api.assessments.v1.AssessmentDeleteReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.riskmanager.api.assessments.v1.AssessmentSearchRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.riskmanager.api.assessments.v1.AssessmentSearchRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.riskmanager.api.assessments.v1.AssessmentSearchRequest.displayName = 'proto.riskmanager.api.assessments.v1.AssessmentSearchRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.riskmanager.api.assessments.v1.AssessmentSearchReply = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.riskmanager.api.assessments.v1.AssessmentSearchReply.repeatedFields_, null);\n};\ngoog.inherits(proto.riskmanager.api.assessments.v1.AssessmentSearchReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.riskmanager.api.assessments.v1.AssessmentSearchReply.displayName = 'proto.riskmanager.api.assessments.v1.AssessmentSearchReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.riskmanager.api.assessments.v1.AssessmentSearchHit = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.riskmanager.api.assessments.v1.AssessmentSearchHit, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.riskmanager.api.assessments.v1.AssessmentSearchHit.displayName = 'proto.riskmanager.api.assessments.v1.AssessmentSearchHit';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.riskmanager.api.assessments.v1.AssessmentGetLatestRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.riskmanager.api.assessments.v1.AssessmentGetLatestRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.riskmanager.api.assessments.v1.AssessmentGetLatestRequest.displayName = 'proto.riskmanager.api.assessments.v1.AssessmentGetLatestRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.riskmanager.api.assessments.v1.AssessmentGetLatestReply = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.riskmanager.api.assessments.v1.AssessmentGetLatestReply.repeatedFields_, null);\n};\ngoog.inherits(proto.riskmanager.api.assessments.v1.AssessmentGetLatestReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.riskmanager.api.assessments.v1.AssessmentGetLatestReply.displayName = 'proto.riskmanager.api.assessments.v1.AssessmentGetLatestReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.riskmanager.api.assessments.v1.AssessmentUpdateStateRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.riskmanager.api.assessments.v1.AssessmentUpdateStateRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.riskmanager.api.assessments.v1.AssessmentUpdateStateRequest.displayName = 'proto.riskmanager.api.assessments.v1.AssessmentUpdateStateRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.riskmanager.api.assessments.v1.AssessmentUpdateStateReply = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.riskmanager.api.assessments.v1.AssessmentUpdateStateReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.riskmanager.api.assessments.v1.AssessmentUpdateStateReply.displayName = 'proto.riskmanager.api.assessments.v1.AssessmentUpdateStateReply';\n}\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.riskmanager.api.assessments.v1.Assessment.prototype.toObject = function(opt_includeInstance) {\n return proto.riskmanager.api.assessments.v1.Assessment.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.riskmanager.api.assessments.v1.Assessment} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.assessments.v1.Assessment.toObject = function(includeInstance, msg) {\n var f, obj = {\n name: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n slug: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n description: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n created: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n updated: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n owner: jspb.Message.getFieldWithDefault(msg, 6, \"\"),\n pb_class: jspb.Message.getFieldWithDefault(msg, 7, \"\"),\n state: jspb.Message.getFieldWithDefault(msg, 8, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.riskmanager.api.assessments.v1.Assessment}\n */\nproto.riskmanager.api.assessments.v1.Assessment.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.riskmanager.api.assessments.v1.Assessment;\n return proto.riskmanager.api.assessments.v1.Assessment.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.riskmanager.api.assessments.v1.Assessment} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.riskmanager.api.assessments.v1.Assessment}\n */\nproto.riskmanager.api.assessments.v1.Assessment.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setName(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setSlug(value);\n break;\n case 3:\n var value = /** @type {string} */ (reader.readString());\n msg.setDescription(value);\n break;\n case 4:\n var value = /** @type {string} */ (reader.readString());\n msg.setCreated(value);\n break;\n case 5:\n var value = /** @type {string} */ (reader.readString());\n msg.setUpdated(value);\n break;\n case 6:\n var value = /** @type {string} */ (reader.readString());\n msg.setOwner(value);\n break;\n case 7:\n var value = /** @type {string} */ (reader.readString());\n msg.setClass(value);\n break;\n case 8:\n var value = /** @type {!proto.riskmanager.api.assessments.v1.State} */ (reader.readEnum());\n msg.setState(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.riskmanager.api.assessments.v1.Assessment.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.riskmanager.api.assessments.v1.Assessment.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.riskmanager.api.assessments.v1.Assessment} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.assessments.v1.Assessment.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getName();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getSlug();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getDescription();\n if (f.length > 0) {\n writer.writeString(\n 3,\n f\n );\n }\n f = message.getCreated();\n if (f.length > 0) {\n writer.writeString(\n 4,\n f\n );\n }\n f = message.getUpdated();\n if (f.length > 0) {\n writer.writeString(\n 5,\n f\n );\n }\n f = message.getOwner();\n if (f.length > 0) {\n writer.writeString(\n 6,\n f\n );\n }\n f = message.getClass();\n if (f.length > 0) {\n writer.writeString(\n 7,\n f\n );\n }\n f = message.getState();\n if (f !== 0.0) {\n writer.writeEnum(\n 8,\n f\n );\n }\n};\n\n\n/**\n * optional string name = 1;\n * @return {string}\n */\nproto.riskmanager.api.assessments.v1.Assessment.prototype.getName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.riskmanager.api.assessments.v1.Assessment} returns this\n */\nproto.riskmanager.api.assessments.v1.Assessment.prototype.setName = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string slug = 2;\n * @return {string}\n */\nproto.riskmanager.api.assessments.v1.Assessment.prototype.getSlug = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.riskmanager.api.assessments.v1.Assessment} returns this\n */\nproto.riskmanager.api.assessments.v1.Assessment.prototype.setSlug = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string description = 3;\n * @return {string}\n */\nproto.riskmanager.api.assessments.v1.Assessment.prototype.getDescription = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.riskmanager.api.assessments.v1.Assessment} returns this\n */\nproto.riskmanager.api.assessments.v1.Assessment.prototype.setDescription = function(value) {\n return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string created = 4;\n * @return {string}\n */\nproto.riskmanager.api.assessments.v1.Assessment.prototype.getCreated = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.riskmanager.api.assessments.v1.Assessment} returns this\n */\nproto.riskmanager.api.assessments.v1.Assessment.prototype.setCreated = function(value) {\n return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional string updated = 5;\n * @return {string}\n */\nproto.riskmanager.api.assessments.v1.Assessment.prototype.getUpdated = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.riskmanager.api.assessments.v1.Assessment} returns this\n */\nproto.riskmanager.api.assessments.v1.Assessment.prototype.setUpdated = function(value) {\n return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n/**\n * optional string owner = 6;\n * @return {string}\n */\nproto.riskmanager.api.assessments.v1.Assessment.prototype.getOwner = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.riskmanager.api.assessments.v1.Assessment} returns this\n */\nproto.riskmanager.api.assessments.v1.Assessment.prototype.setOwner = function(value) {\n return jspb.Message.setProto3StringField(this, 6, value);\n};\n\n\n/**\n * optional string class = 7;\n * @return {string}\n */\nproto.riskmanager.api.assessments.v1.Assessment.prototype.getClass = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.riskmanager.api.assessments.v1.Assessment} returns this\n */\nproto.riskmanager.api.assessments.v1.Assessment.prototype.setClass = function(value) {\n return jspb.Message.setProto3StringField(this, 7, value);\n};\n\n\n/**\n * optional State state = 8;\n * @return {!proto.riskmanager.api.assessments.v1.State}\n */\nproto.riskmanager.api.assessments.v1.Assessment.prototype.getState = function() {\n return /** @type {!proto.riskmanager.api.assessments.v1.State} */ (jspb.Message.getFieldWithDefault(this, 8, 0));\n};\n\n\n/**\n * @param {!proto.riskmanager.api.assessments.v1.State} value\n * @return {!proto.riskmanager.api.assessments.v1.Assessment} returns this\n */\nproto.riskmanager.api.assessments.v1.Assessment.prototype.setState = function(value) {\n return jspb.Message.setProto3EnumField(this, 8, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.riskmanager.api.assessments.v1.AssessmentSaveRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.riskmanager.api.assessments.v1.AssessmentSaveRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentSaveRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.assessments.v1.AssessmentSaveRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n assessment: (f = msg.getAssessment()) && proto.riskmanager.api.assessments.v1.Assessment.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.riskmanager.api.assessments.v1.AssessmentSaveRequest}\n */\nproto.riskmanager.api.assessments.v1.AssessmentSaveRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.riskmanager.api.assessments.v1.AssessmentSaveRequest;\n return proto.riskmanager.api.assessments.v1.AssessmentSaveRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentSaveRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.riskmanager.api.assessments.v1.AssessmentSaveRequest}\n */\nproto.riskmanager.api.assessments.v1.AssessmentSaveRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.riskmanager.api.assessments.v1.Assessment;\n reader.readMessage(value,proto.riskmanager.api.assessments.v1.Assessment.deserializeBinaryFromReader);\n msg.setAssessment(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.riskmanager.api.assessments.v1.AssessmentSaveRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.riskmanager.api.assessments.v1.AssessmentSaveRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentSaveRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.assessments.v1.AssessmentSaveRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getAssessment();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.riskmanager.api.assessments.v1.Assessment.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional Assessment assessment = 1;\n * @return {?proto.riskmanager.api.assessments.v1.Assessment}\n */\nproto.riskmanager.api.assessments.v1.AssessmentSaveRequest.prototype.getAssessment = function() {\n return /** @type{?proto.riskmanager.api.assessments.v1.Assessment} */ (\n jspb.Message.getWrapperField(this, proto.riskmanager.api.assessments.v1.Assessment, 1));\n};\n\n\n/**\n * @param {?proto.riskmanager.api.assessments.v1.Assessment|undefined} value\n * @return {!proto.riskmanager.api.assessments.v1.AssessmentSaveRequest} returns this\n*/\nproto.riskmanager.api.assessments.v1.AssessmentSaveRequest.prototype.setAssessment = function(value) {\n return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.riskmanager.api.assessments.v1.AssessmentSaveRequest} returns this\n */\nproto.riskmanager.api.assessments.v1.AssessmentSaveRequest.prototype.clearAssessment = function() {\n return this.setAssessment(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.riskmanager.api.assessments.v1.AssessmentSaveRequest.prototype.hasAssessment = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.riskmanager.api.assessments.v1.AssessmentSaveReply.prototype.toObject = function(opt_includeInstance) {\n return proto.riskmanager.api.assessments.v1.AssessmentSaveReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentSaveReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.assessments.v1.AssessmentSaveReply.toObject = function(includeInstance, msg) {\n var f, obj = {\n assessment: (f = msg.getAssessment()) && proto.riskmanager.api.assessments.v1.Assessment.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.riskmanager.api.assessments.v1.AssessmentSaveReply}\n */\nproto.riskmanager.api.assessments.v1.AssessmentSaveReply.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.riskmanager.api.assessments.v1.AssessmentSaveReply;\n return proto.riskmanager.api.assessments.v1.AssessmentSaveReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentSaveReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.riskmanager.api.assessments.v1.AssessmentSaveReply}\n */\nproto.riskmanager.api.assessments.v1.AssessmentSaveReply.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.riskmanager.api.assessments.v1.Assessment;\n reader.readMessage(value,proto.riskmanager.api.assessments.v1.Assessment.deserializeBinaryFromReader);\n msg.setAssessment(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.riskmanager.api.assessments.v1.AssessmentSaveReply.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.riskmanager.api.assessments.v1.AssessmentSaveReply.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentSaveReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.assessments.v1.AssessmentSaveReply.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getAssessment();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.riskmanager.api.assessments.v1.Assessment.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional Assessment assessment = 1;\n * @return {?proto.riskmanager.api.assessments.v1.Assessment}\n */\nproto.riskmanager.api.assessments.v1.AssessmentSaveReply.prototype.getAssessment = function() {\n return /** @type{?proto.riskmanager.api.assessments.v1.Assessment} */ (\n jspb.Message.getWrapperField(this, proto.riskmanager.api.assessments.v1.Assessment, 1));\n};\n\n\n/**\n * @param {?proto.riskmanager.api.assessments.v1.Assessment|undefined} value\n * @return {!proto.riskmanager.api.assessments.v1.AssessmentSaveReply} returns this\n*/\nproto.riskmanager.api.assessments.v1.AssessmentSaveReply.prototype.setAssessment = function(value) {\n return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.riskmanager.api.assessments.v1.AssessmentSaveReply} returns this\n */\nproto.riskmanager.api.assessments.v1.AssessmentSaveReply.prototype.clearAssessment = function() {\n return this.setAssessment(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.riskmanager.api.assessments.v1.AssessmentSaveReply.prototype.hasAssessment = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.riskmanager.api.assessments.v1.AssessmentGetRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.riskmanager.api.assessments.v1.AssessmentGetRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentGetRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.assessments.v1.AssessmentGetRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n slug: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.riskmanager.api.assessments.v1.AssessmentGetRequest}\n */\nproto.riskmanager.api.assessments.v1.AssessmentGetRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.riskmanager.api.assessments.v1.AssessmentGetRequest;\n return proto.riskmanager.api.assessments.v1.AssessmentGetRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentGetRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.riskmanager.api.assessments.v1.AssessmentGetRequest}\n */\nproto.riskmanager.api.assessments.v1.AssessmentGetRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setSlug(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.riskmanager.api.assessments.v1.AssessmentGetRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.riskmanager.api.assessments.v1.AssessmentGetRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentGetRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.assessments.v1.AssessmentGetRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSlug();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string slug = 1;\n * @return {string}\n */\nproto.riskmanager.api.assessments.v1.AssessmentGetRequest.prototype.getSlug = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.riskmanager.api.assessments.v1.AssessmentGetRequest} returns this\n */\nproto.riskmanager.api.assessments.v1.AssessmentGetRequest.prototype.setSlug = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.riskmanager.api.assessments.v1.AssessmentGetReply.prototype.toObject = function(opt_includeInstance) {\n return proto.riskmanager.api.assessments.v1.AssessmentGetReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentGetReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.assessments.v1.AssessmentGetReply.toObject = function(includeInstance, msg) {\n var f, obj = {\n assessment: (f = msg.getAssessment()) && proto.riskmanager.api.assessments.v1.Assessment.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.riskmanager.api.assessments.v1.AssessmentGetReply}\n */\nproto.riskmanager.api.assessments.v1.AssessmentGetReply.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.riskmanager.api.assessments.v1.AssessmentGetReply;\n return proto.riskmanager.api.assessments.v1.AssessmentGetReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentGetReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.riskmanager.api.assessments.v1.AssessmentGetReply}\n */\nproto.riskmanager.api.assessments.v1.AssessmentGetReply.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.riskmanager.api.assessments.v1.Assessment;\n reader.readMessage(value,proto.riskmanager.api.assessments.v1.Assessment.deserializeBinaryFromReader);\n msg.setAssessment(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.riskmanager.api.assessments.v1.AssessmentGetReply.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.riskmanager.api.assessments.v1.AssessmentGetReply.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentGetReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.assessments.v1.AssessmentGetReply.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getAssessment();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.riskmanager.api.assessments.v1.Assessment.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional Assessment assessment = 1;\n * @return {?proto.riskmanager.api.assessments.v1.Assessment}\n */\nproto.riskmanager.api.assessments.v1.AssessmentGetReply.prototype.getAssessment = function() {\n return /** @type{?proto.riskmanager.api.assessments.v1.Assessment} */ (\n jspb.Message.getWrapperField(this, proto.riskmanager.api.assessments.v1.Assessment, 1));\n};\n\n\n/**\n * @param {?proto.riskmanager.api.assessments.v1.Assessment|undefined} value\n * @return {!proto.riskmanager.api.assessments.v1.AssessmentGetReply} returns this\n*/\nproto.riskmanager.api.assessments.v1.AssessmentGetReply.prototype.setAssessment = function(value) {\n return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.riskmanager.api.assessments.v1.AssessmentGetReply} returns this\n */\nproto.riskmanager.api.assessments.v1.AssessmentGetReply.prototype.clearAssessment = function() {\n return this.setAssessment(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.riskmanager.api.assessments.v1.AssessmentGetReply.prototype.hasAssessment = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.riskmanager.api.assessments.v1.AssessmentDeleteRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.riskmanager.api.assessments.v1.AssessmentDeleteRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentDeleteRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.assessments.v1.AssessmentDeleteRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n slug: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.riskmanager.api.assessments.v1.AssessmentDeleteRequest}\n */\nproto.riskmanager.api.assessments.v1.AssessmentDeleteRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.riskmanager.api.assessments.v1.AssessmentDeleteRequest;\n return proto.riskmanager.api.assessments.v1.AssessmentDeleteRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentDeleteRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.riskmanager.api.assessments.v1.AssessmentDeleteRequest}\n */\nproto.riskmanager.api.assessments.v1.AssessmentDeleteRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setSlug(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.riskmanager.api.assessments.v1.AssessmentDeleteRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.riskmanager.api.assessments.v1.AssessmentDeleteRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentDeleteRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.assessments.v1.AssessmentDeleteRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSlug();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string slug = 1;\n * @return {string}\n */\nproto.riskmanager.api.assessments.v1.AssessmentDeleteRequest.prototype.getSlug = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.riskmanager.api.assessments.v1.AssessmentDeleteRequest} returns this\n */\nproto.riskmanager.api.assessments.v1.AssessmentDeleteRequest.prototype.setSlug = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.riskmanager.api.assessments.v1.AssessmentDeleteReply.prototype.toObject = function(opt_includeInstance) {\n return proto.riskmanager.api.assessments.v1.AssessmentDeleteReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentDeleteReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.assessments.v1.AssessmentDeleteReply.toObject = function(includeInstance, msg) {\n var f, obj = {\n deleted: jspb.Message.getBooleanFieldWithDefault(msg, 1, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.riskmanager.api.assessments.v1.AssessmentDeleteReply}\n */\nproto.riskmanager.api.assessments.v1.AssessmentDeleteReply.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.riskmanager.api.assessments.v1.AssessmentDeleteReply;\n return proto.riskmanager.api.assessments.v1.AssessmentDeleteReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentDeleteReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.riskmanager.api.assessments.v1.AssessmentDeleteReply}\n */\nproto.riskmanager.api.assessments.v1.AssessmentDeleteReply.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setDeleted(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.riskmanager.api.assessments.v1.AssessmentDeleteReply.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.riskmanager.api.assessments.v1.AssessmentDeleteReply.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentDeleteReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.assessments.v1.AssessmentDeleteReply.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getDeleted();\n if (f) {\n writer.writeBool(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional bool deleted = 1;\n * @return {boolean}\n */\nproto.riskmanager.api.assessments.v1.AssessmentDeleteReply.prototype.getDeleted = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.riskmanager.api.assessments.v1.AssessmentDeleteReply} returns this\n */\nproto.riskmanager.api.assessments.v1.AssessmentDeleteReply.prototype.setDeleted = function(value) {\n return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.riskmanager.api.assessments.v1.AssessmentSearchRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.riskmanager.api.assessments.v1.AssessmentSearchRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentSearchRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.assessments.v1.AssessmentSearchRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n searchTerm: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.riskmanager.api.assessments.v1.AssessmentSearchRequest}\n */\nproto.riskmanager.api.assessments.v1.AssessmentSearchRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.riskmanager.api.assessments.v1.AssessmentSearchRequest;\n return proto.riskmanager.api.assessments.v1.AssessmentSearchRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentSearchRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.riskmanager.api.assessments.v1.AssessmentSearchRequest}\n */\nproto.riskmanager.api.assessments.v1.AssessmentSearchRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setSearchTerm(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.riskmanager.api.assessments.v1.AssessmentSearchRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.riskmanager.api.assessments.v1.AssessmentSearchRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentSearchRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.assessments.v1.AssessmentSearchRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSearchTerm();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string search_term = 1;\n * @return {string}\n */\nproto.riskmanager.api.assessments.v1.AssessmentSearchRequest.prototype.getSearchTerm = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.riskmanager.api.assessments.v1.AssessmentSearchRequest} returns this\n */\nproto.riskmanager.api.assessments.v1.AssessmentSearchRequest.prototype.setSearchTerm = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.riskmanager.api.assessments.v1.AssessmentSearchReply.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.riskmanager.api.assessments.v1.AssessmentSearchReply.prototype.toObject = function(opt_includeInstance) {\n return proto.riskmanager.api.assessments.v1.AssessmentSearchReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentSearchReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.assessments.v1.AssessmentSearchReply.toObject = function(includeInstance, msg) {\n var f, obj = {\n searchHitsList: jspb.Message.toObjectList(msg.getSearchHitsList(),\n proto.riskmanager.api.assessments.v1.AssessmentSearchHit.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.riskmanager.api.assessments.v1.AssessmentSearchReply}\n */\nproto.riskmanager.api.assessments.v1.AssessmentSearchReply.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.riskmanager.api.assessments.v1.AssessmentSearchReply;\n return proto.riskmanager.api.assessments.v1.AssessmentSearchReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentSearchReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.riskmanager.api.assessments.v1.AssessmentSearchReply}\n */\nproto.riskmanager.api.assessments.v1.AssessmentSearchReply.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.riskmanager.api.assessments.v1.AssessmentSearchHit;\n reader.readMessage(value,proto.riskmanager.api.assessments.v1.AssessmentSearchHit.deserializeBinaryFromReader);\n msg.addSearchHits(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.riskmanager.api.assessments.v1.AssessmentSearchReply.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.riskmanager.api.assessments.v1.AssessmentSearchReply.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentSearchReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.assessments.v1.AssessmentSearchReply.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSearchHitsList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 1,\n f,\n proto.riskmanager.api.assessments.v1.AssessmentSearchHit.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * repeated AssessmentSearchHit search_hits = 1;\n * @return {!Array}\n */\nproto.riskmanager.api.assessments.v1.AssessmentSearchReply.prototype.getSearchHitsList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.riskmanager.api.assessments.v1.AssessmentSearchHit, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.riskmanager.api.assessments.v1.AssessmentSearchReply} returns this\n*/\nproto.riskmanager.api.assessments.v1.AssessmentSearchReply.prototype.setSearchHitsList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 1, value);\n};\n\n\n/**\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentSearchHit=} opt_value\n * @param {number=} opt_index\n * @return {!proto.riskmanager.api.assessments.v1.AssessmentSearchHit}\n */\nproto.riskmanager.api.assessments.v1.AssessmentSearchReply.prototype.addSearchHits = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.riskmanager.api.assessments.v1.AssessmentSearchHit, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.riskmanager.api.assessments.v1.AssessmentSearchReply} returns this\n */\nproto.riskmanager.api.assessments.v1.AssessmentSearchReply.prototype.clearSearchHitsList = function() {\n return this.setSearchHitsList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.riskmanager.api.assessments.v1.AssessmentSearchHit.prototype.toObject = function(opt_includeInstance) {\n return proto.riskmanager.api.assessments.v1.AssessmentSearchHit.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentSearchHit} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.assessments.v1.AssessmentSearchHit.toObject = function(includeInstance, msg) {\n var f, obj = {\n match: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n assessment: (f = msg.getAssessment()) && proto.riskmanager.api.assessments.v1.Assessment.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.riskmanager.api.assessments.v1.AssessmentSearchHit}\n */\nproto.riskmanager.api.assessments.v1.AssessmentSearchHit.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.riskmanager.api.assessments.v1.AssessmentSearchHit;\n return proto.riskmanager.api.assessments.v1.AssessmentSearchHit.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentSearchHit} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.riskmanager.api.assessments.v1.AssessmentSearchHit}\n */\nproto.riskmanager.api.assessments.v1.AssessmentSearchHit.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setMatch(value);\n break;\n case 2:\n var value = new proto.riskmanager.api.assessments.v1.Assessment;\n reader.readMessage(value,proto.riskmanager.api.assessments.v1.Assessment.deserializeBinaryFromReader);\n msg.setAssessment(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.riskmanager.api.assessments.v1.AssessmentSearchHit.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.riskmanager.api.assessments.v1.AssessmentSearchHit.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentSearchHit} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.assessments.v1.AssessmentSearchHit.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getMatch();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getAssessment();\n if (f != null) {\n writer.writeMessage(\n 2,\n f,\n proto.riskmanager.api.assessments.v1.Assessment.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional string match = 1;\n * @return {string}\n */\nproto.riskmanager.api.assessments.v1.AssessmentSearchHit.prototype.getMatch = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.riskmanager.api.assessments.v1.AssessmentSearchHit} returns this\n */\nproto.riskmanager.api.assessments.v1.AssessmentSearchHit.prototype.setMatch = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional Assessment assessment = 2;\n * @return {?proto.riskmanager.api.assessments.v1.Assessment}\n */\nproto.riskmanager.api.assessments.v1.AssessmentSearchHit.prototype.getAssessment = function() {\n return /** @type{?proto.riskmanager.api.assessments.v1.Assessment} */ (\n jspb.Message.getWrapperField(this, proto.riskmanager.api.assessments.v1.Assessment, 2));\n};\n\n\n/**\n * @param {?proto.riskmanager.api.assessments.v1.Assessment|undefined} value\n * @return {!proto.riskmanager.api.assessments.v1.AssessmentSearchHit} returns this\n*/\nproto.riskmanager.api.assessments.v1.AssessmentSearchHit.prototype.setAssessment = function(value) {\n return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.riskmanager.api.assessments.v1.AssessmentSearchHit} returns this\n */\nproto.riskmanager.api.assessments.v1.AssessmentSearchHit.prototype.clearAssessment = function() {\n return this.setAssessment(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.riskmanager.api.assessments.v1.AssessmentSearchHit.prototype.hasAssessment = function() {\n return jspb.Message.getField(this, 2) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.riskmanager.api.assessments.v1.AssessmentGetLatestRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.riskmanager.api.assessments.v1.AssessmentGetLatestRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentGetLatestRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.assessments.v1.AssessmentGetLatestRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n numberOfAssessments: jspb.Message.getFieldWithDefault(msg, 1, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.riskmanager.api.assessments.v1.AssessmentGetLatestRequest}\n */\nproto.riskmanager.api.assessments.v1.AssessmentGetLatestRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.riskmanager.api.assessments.v1.AssessmentGetLatestRequest;\n return proto.riskmanager.api.assessments.v1.AssessmentGetLatestRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentGetLatestRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.riskmanager.api.assessments.v1.AssessmentGetLatestRequest}\n */\nproto.riskmanager.api.assessments.v1.AssessmentGetLatestRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setNumberOfAssessments(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.riskmanager.api.assessments.v1.AssessmentGetLatestRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.riskmanager.api.assessments.v1.AssessmentGetLatestRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentGetLatestRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.assessments.v1.AssessmentGetLatestRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getNumberOfAssessments();\n if (f !== 0) {\n writer.writeInt32(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional int32 number_of_assessments = 1;\n * @return {number}\n */\nproto.riskmanager.api.assessments.v1.AssessmentGetLatestRequest.prototype.getNumberOfAssessments = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.riskmanager.api.assessments.v1.AssessmentGetLatestRequest} returns this\n */\nproto.riskmanager.api.assessments.v1.AssessmentGetLatestRequest.prototype.setNumberOfAssessments = function(value) {\n return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.riskmanager.api.assessments.v1.AssessmentGetLatestReply.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.riskmanager.api.assessments.v1.AssessmentGetLatestReply.prototype.toObject = function(opt_includeInstance) {\n return proto.riskmanager.api.assessments.v1.AssessmentGetLatestReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentGetLatestReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.assessments.v1.AssessmentGetLatestReply.toObject = function(includeInstance, msg) {\n var f, obj = {\n assessmentsList: jspb.Message.toObjectList(msg.getAssessmentsList(),\n proto.riskmanager.api.assessments.v1.Assessment.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.riskmanager.api.assessments.v1.AssessmentGetLatestReply}\n */\nproto.riskmanager.api.assessments.v1.AssessmentGetLatestReply.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.riskmanager.api.assessments.v1.AssessmentGetLatestReply;\n return proto.riskmanager.api.assessments.v1.AssessmentGetLatestReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentGetLatestReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.riskmanager.api.assessments.v1.AssessmentGetLatestReply}\n */\nproto.riskmanager.api.assessments.v1.AssessmentGetLatestReply.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.riskmanager.api.assessments.v1.Assessment;\n reader.readMessage(value,proto.riskmanager.api.assessments.v1.Assessment.deserializeBinaryFromReader);\n msg.addAssessments(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.riskmanager.api.assessments.v1.AssessmentGetLatestReply.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.riskmanager.api.assessments.v1.AssessmentGetLatestReply.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentGetLatestReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.assessments.v1.AssessmentGetLatestReply.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getAssessmentsList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 1,\n f,\n proto.riskmanager.api.assessments.v1.Assessment.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * repeated Assessment assessments = 1;\n * @return {!Array}\n */\nproto.riskmanager.api.assessments.v1.AssessmentGetLatestReply.prototype.getAssessmentsList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.riskmanager.api.assessments.v1.Assessment, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.riskmanager.api.assessments.v1.AssessmentGetLatestReply} returns this\n*/\nproto.riskmanager.api.assessments.v1.AssessmentGetLatestReply.prototype.setAssessmentsList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 1, value);\n};\n\n\n/**\n * @param {!proto.riskmanager.api.assessments.v1.Assessment=} opt_value\n * @param {number=} opt_index\n * @return {!proto.riskmanager.api.assessments.v1.Assessment}\n */\nproto.riskmanager.api.assessments.v1.AssessmentGetLatestReply.prototype.addAssessments = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.riskmanager.api.assessments.v1.Assessment, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.riskmanager.api.assessments.v1.AssessmentGetLatestReply} returns this\n */\nproto.riskmanager.api.assessments.v1.AssessmentGetLatestReply.prototype.clearAssessmentsList = function() {\n return this.setAssessmentsList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.riskmanager.api.assessments.v1.AssessmentUpdateStateRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.riskmanager.api.assessments.v1.AssessmentUpdateStateRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentUpdateStateRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.assessments.v1.AssessmentUpdateStateRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n slug: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n state: jspb.Message.getFieldWithDefault(msg, 2, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.riskmanager.api.assessments.v1.AssessmentUpdateStateRequest}\n */\nproto.riskmanager.api.assessments.v1.AssessmentUpdateStateRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.riskmanager.api.assessments.v1.AssessmentUpdateStateRequest;\n return proto.riskmanager.api.assessments.v1.AssessmentUpdateStateRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentUpdateStateRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.riskmanager.api.assessments.v1.AssessmentUpdateStateRequest}\n */\nproto.riskmanager.api.assessments.v1.AssessmentUpdateStateRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setSlug(value);\n break;\n case 2:\n var value = /** @type {!proto.riskmanager.api.assessments.v1.State} */ (reader.readEnum());\n msg.setState(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.riskmanager.api.assessments.v1.AssessmentUpdateStateRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.riskmanager.api.assessments.v1.AssessmentUpdateStateRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentUpdateStateRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.assessments.v1.AssessmentUpdateStateRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSlug();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getState();\n if (f !== 0.0) {\n writer.writeEnum(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional string slug = 1;\n * @return {string}\n */\nproto.riskmanager.api.assessments.v1.AssessmentUpdateStateRequest.prototype.getSlug = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.riskmanager.api.assessments.v1.AssessmentUpdateStateRequest} returns this\n */\nproto.riskmanager.api.assessments.v1.AssessmentUpdateStateRequest.prototype.setSlug = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional State state = 2;\n * @return {!proto.riskmanager.api.assessments.v1.State}\n */\nproto.riskmanager.api.assessments.v1.AssessmentUpdateStateRequest.prototype.getState = function() {\n return /** @type {!proto.riskmanager.api.assessments.v1.State} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {!proto.riskmanager.api.assessments.v1.State} value\n * @return {!proto.riskmanager.api.assessments.v1.AssessmentUpdateStateRequest} returns this\n */\nproto.riskmanager.api.assessments.v1.AssessmentUpdateStateRequest.prototype.setState = function(value) {\n return jspb.Message.setProto3EnumField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.riskmanager.api.assessments.v1.AssessmentUpdateStateReply.prototype.toObject = function(opt_includeInstance) {\n return proto.riskmanager.api.assessments.v1.AssessmentUpdateStateReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentUpdateStateReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.assessments.v1.AssessmentUpdateStateReply.toObject = function(includeInstance, msg) {\n var f, obj = {\n success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.riskmanager.api.assessments.v1.AssessmentUpdateStateReply}\n */\nproto.riskmanager.api.assessments.v1.AssessmentUpdateStateReply.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.riskmanager.api.assessments.v1.AssessmentUpdateStateReply;\n return proto.riskmanager.api.assessments.v1.AssessmentUpdateStateReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentUpdateStateReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.riskmanager.api.assessments.v1.AssessmentUpdateStateReply}\n */\nproto.riskmanager.api.assessments.v1.AssessmentUpdateStateReply.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setSuccess(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.riskmanager.api.assessments.v1.AssessmentUpdateStateReply.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.riskmanager.api.assessments.v1.AssessmentUpdateStateReply.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentUpdateStateReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.assessments.v1.AssessmentUpdateStateReply.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSuccess();\n if (f) {\n writer.writeBool(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional bool success = 1;\n * @return {boolean}\n */\nproto.riskmanager.api.assessments.v1.AssessmentUpdateStateReply.prototype.getSuccess = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.riskmanager.api.assessments.v1.AssessmentUpdateStateReply} returns this\n */\nproto.riskmanager.api.assessments.v1.AssessmentUpdateStateReply.prototype.setSuccess = function(value) {\n return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * @enum {number}\n */\nproto.riskmanager.api.assessments.v1.State = {\n CREATE: 0,\n UPDATE: 1,\n PLAN: 2,\n DO: 3,\n REVIEW: 4\n};\n\ngoog.object.extend(exports, proto.riskmanager.api.assessments.v1);\n","// source: risks/risks.proto\n/**\n * @fileoverview\n * @enhanceable\n * @suppress {missingRequire} reports error on implicit type usages.\n * @suppress {messageConventions} JS Compiler reports an error if a variable or\n * field starts with 'MSG_' and isn't a translatable message.\n * @public\n */\n// GENERATED CODE -- DO NOT EDIT!\n/* eslint-disable */\n// @ts-nocheck\n\nvar jspb = require('google-protobuf');\nvar goog = jspb;\nvar global = Function('return this')();\n\nvar assessments_assessments_pb = require('../assessments/assessments_pb.js');\ngoog.object.extend(proto, assessments_assessments_pb);\ngoog.exportSymbol('proto.riskmanager.api.risks.v1.Risk', null, global);\ngoog.exportSymbol('proto.riskmanager.api.risks.v1.RiskDeleteReply', null, global);\ngoog.exportSymbol('proto.riskmanager.api.risks.v1.RiskDeleteRequest', null, global);\ngoog.exportSymbol('proto.riskmanager.api.risks.v1.RiskGetAllAssessmentReply', null, global);\ngoog.exportSymbol('proto.riskmanager.api.risks.v1.RiskGetAllAssessmentRequest', null, global);\ngoog.exportSymbol('proto.riskmanager.api.risks.v1.RiskGetLatestReply', null, global);\ngoog.exportSymbol('proto.riskmanager.api.risks.v1.RiskGetLatestRequest', null, global);\ngoog.exportSymbol('proto.riskmanager.api.risks.v1.RiskGetReply', null, global);\ngoog.exportSymbol('proto.riskmanager.api.risks.v1.RiskGetRequest', null, global);\ngoog.exportSymbol('proto.riskmanager.api.risks.v1.RiskSaveReply', null, global);\ngoog.exportSymbol('proto.riskmanager.api.risks.v1.RiskSaveRequest', null, global);\ngoog.exportSymbol('proto.riskmanager.api.risks.v1.RiskSearchHit', null, global);\ngoog.exportSymbol('proto.riskmanager.api.risks.v1.RiskSearchReply', null, global);\ngoog.exportSymbol('proto.riskmanager.api.risks.v1.RiskSearchRequest', null, global);\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.riskmanager.api.risks.v1.Risk = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.riskmanager.api.risks.v1.Risk, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.riskmanager.api.risks.v1.Risk.displayName = 'proto.riskmanager.api.risks.v1.Risk';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.riskmanager.api.risks.v1.RiskSaveRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.riskmanager.api.risks.v1.RiskSaveRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.riskmanager.api.risks.v1.RiskSaveRequest.displayName = 'proto.riskmanager.api.risks.v1.RiskSaveRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.riskmanager.api.risks.v1.RiskSaveReply = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.riskmanager.api.risks.v1.RiskSaveReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.riskmanager.api.risks.v1.RiskSaveReply.displayName = 'proto.riskmanager.api.risks.v1.RiskSaveReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.riskmanager.api.risks.v1.RiskGetRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.riskmanager.api.risks.v1.RiskGetRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.riskmanager.api.risks.v1.RiskGetRequest.displayName = 'proto.riskmanager.api.risks.v1.RiskGetRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.riskmanager.api.risks.v1.RiskGetReply = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.riskmanager.api.risks.v1.RiskGetReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.riskmanager.api.risks.v1.RiskGetReply.displayName = 'proto.riskmanager.api.risks.v1.RiskGetReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.riskmanager.api.risks.v1.RiskGetAllAssessmentRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.riskmanager.api.risks.v1.RiskGetAllAssessmentRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.riskmanager.api.risks.v1.RiskGetAllAssessmentRequest.displayName = 'proto.riskmanager.api.risks.v1.RiskGetAllAssessmentRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.riskmanager.api.risks.v1.RiskGetAllAssessmentReply = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.riskmanager.api.risks.v1.RiskGetAllAssessmentReply.repeatedFields_, null);\n};\ngoog.inherits(proto.riskmanager.api.risks.v1.RiskGetAllAssessmentReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.riskmanager.api.risks.v1.RiskGetAllAssessmentReply.displayName = 'proto.riskmanager.api.risks.v1.RiskGetAllAssessmentReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.riskmanager.api.risks.v1.RiskGetLatestRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.riskmanager.api.risks.v1.RiskGetLatestRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.riskmanager.api.risks.v1.RiskGetLatestRequest.displayName = 'proto.riskmanager.api.risks.v1.RiskGetLatestRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.riskmanager.api.risks.v1.RiskGetLatestReply = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.riskmanager.api.risks.v1.RiskGetLatestReply.repeatedFields_, null);\n};\ngoog.inherits(proto.riskmanager.api.risks.v1.RiskGetLatestReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.riskmanager.api.risks.v1.RiskGetLatestReply.displayName = 'proto.riskmanager.api.risks.v1.RiskGetLatestReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.riskmanager.api.risks.v1.RiskDeleteRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.riskmanager.api.risks.v1.RiskDeleteRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.riskmanager.api.risks.v1.RiskDeleteRequest.displayName = 'proto.riskmanager.api.risks.v1.RiskDeleteRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.riskmanager.api.risks.v1.RiskDeleteReply = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.riskmanager.api.risks.v1.RiskDeleteReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.riskmanager.api.risks.v1.RiskDeleteReply.displayName = 'proto.riskmanager.api.risks.v1.RiskDeleteReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.riskmanager.api.risks.v1.RiskSearchRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.riskmanager.api.risks.v1.RiskSearchRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.riskmanager.api.risks.v1.RiskSearchRequest.displayName = 'proto.riskmanager.api.risks.v1.RiskSearchRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.riskmanager.api.risks.v1.RiskSearchReply = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.riskmanager.api.risks.v1.RiskSearchReply.repeatedFields_, null);\n};\ngoog.inherits(proto.riskmanager.api.risks.v1.RiskSearchReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.riskmanager.api.risks.v1.RiskSearchReply.displayName = 'proto.riskmanager.api.risks.v1.RiskSearchReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.riskmanager.api.risks.v1.RiskSearchHit = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.riskmanager.api.risks.v1.RiskSearchHit, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.riskmanager.api.risks.v1.RiskSearchHit.displayName = 'proto.riskmanager.api.risks.v1.RiskSearchHit';\n}\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.riskmanager.api.risks.v1.Risk.prototype.toObject = function(opt_includeInstance) {\n return proto.riskmanager.api.risks.v1.Risk.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.riskmanager.api.risks.v1.Risk} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.risks.v1.Risk.toObject = function(includeInstance, msg) {\n var f, obj = {\n id: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n name: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n description: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n probability: jspb.Message.getFieldWithDefault(msg, 4, 0),\n impact: jspb.Message.getFieldWithDefault(msg, 5, 0),\n created: jspb.Message.getFieldWithDefault(msg, 6, \"\"),\n updated: jspb.Message.getFieldWithDefault(msg, 7, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.riskmanager.api.risks.v1.Risk}\n */\nproto.riskmanager.api.risks.v1.Risk.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.riskmanager.api.risks.v1.Risk;\n return proto.riskmanager.api.risks.v1.Risk.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.riskmanager.api.risks.v1.Risk} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.riskmanager.api.risks.v1.Risk}\n */\nproto.riskmanager.api.risks.v1.Risk.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setId(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setName(value);\n break;\n case 3:\n var value = /** @type {string} */ (reader.readString());\n msg.setDescription(value);\n break;\n case 4:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setProbability(value);\n break;\n case 5:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setImpact(value);\n break;\n case 6:\n var value = /** @type {string} */ (reader.readString());\n msg.setCreated(value);\n break;\n case 7:\n var value = /** @type {string} */ (reader.readString());\n msg.setUpdated(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.riskmanager.api.risks.v1.Risk.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.riskmanager.api.risks.v1.Risk.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.riskmanager.api.risks.v1.Risk} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.risks.v1.Risk.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getId();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getName();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getDescription();\n if (f.length > 0) {\n writer.writeString(\n 3,\n f\n );\n }\n f = message.getProbability();\n if (f !== 0) {\n writer.writeInt32(\n 4,\n f\n );\n }\n f = message.getImpact();\n if (f !== 0) {\n writer.writeInt32(\n 5,\n f\n );\n }\n f = message.getCreated();\n if (f.length > 0) {\n writer.writeString(\n 6,\n f\n );\n }\n f = message.getUpdated();\n if (f.length > 0) {\n writer.writeString(\n 7,\n f\n );\n }\n};\n\n\n/**\n * optional string id = 1;\n * @return {string}\n */\nproto.riskmanager.api.risks.v1.Risk.prototype.getId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.riskmanager.api.risks.v1.Risk} returns this\n */\nproto.riskmanager.api.risks.v1.Risk.prototype.setId = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string name = 2;\n * @return {string}\n */\nproto.riskmanager.api.risks.v1.Risk.prototype.getName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.riskmanager.api.risks.v1.Risk} returns this\n */\nproto.riskmanager.api.risks.v1.Risk.prototype.setName = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string description = 3;\n * @return {string}\n */\nproto.riskmanager.api.risks.v1.Risk.prototype.getDescription = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.riskmanager.api.risks.v1.Risk} returns this\n */\nproto.riskmanager.api.risks.v1.Risk.prototype.setDescription = function(value) {\n return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional int32 probability = 4;\n * @return {number}\n */\nproto.riskmanager.api.risks.v1.Risk.prototype.getProbability = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.riskmanager.api.risks.v1.Risk} returns this\n */\nproto.riskmanager.api.risks.v1.Risk.prototype.setProbability = function(value) {\n return jspb.Message.setProto3IntField(this, 4, value);\n};\n\n\n/**\n * optional int32 impact = 5;\n * @return {number}\n */\nproto.riskmanager.api.risks.v1.Risk.prototype.getImpact = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.riskmanager.api.risks.v1.Risk} returns this\n */\nproto.riskmanager.api.risks.v1.Risk.prototype.setImpact = function(value) {\n return jspb.Message.setProto3IntField(this, 5, value);\n};\n\n\n/**\n * optional string created = 6;\n * @return {string}\n */\nproto.riskmanager.api.risks.v1.Risk.prototype.getCreated = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.riskmanager.api.risks.v1.Risk} returns this\n */\nproto.riskmanager.api.risks.v1.Risk.prototype.setCreated = function(value) {\n return jspb.Message.setProto3StringField(this, 6, value);\n};\n\n\n/**\n * optional string updated = 7;\n * @return {string}\n */\nproto.riskmanager.api.risks.v1.Risk.prototype.getUpdated = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.riskmanager.api.risks.v1.Risk} returns this\n */\nproto.riskmanager.api.risks.v1.Risk.prototype.setUpdated = function(value) {\n return jspb.Message.setProto3StringField(this, 7, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.riskmanager.api.risks.v1.RiskSaveRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.riskmanager.api.risks.v1.RiskSaveRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.riskmanager.api.risks.v1.RiskSaveRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.risks.v1.RiskSaveRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n risk: (f = msg.getRisk()) && proto.riskmanager.api.risks.v1.Risk.toObject(includeInstance, f),\n assessmentSlug: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.riskmanager.api.risks.v1.RiskSaveRequest}\n */\nproto.riskmanager.api.risks.v1.RiskSaveRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.riskmanager.api.risks.v1.RiskSaveRequest;\n return proto.riskmanager.api.risks.v1.RiskSaveRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.riskmanager.api.risks.v1.RiskSaveRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.riskmanager.api.risks.v1.RiskSaveRequest}\n */\nproto.riskmanager.api.risks.v1.RiskSaveRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.riskmanager.api.risks.v1.Risk;\n reader.readMessage(value,proto.riskmanager.api.risks.v1.Risk.deserializeBinaryFromReader);\n msg.setRisk(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setAssessmentSlug(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.riskmanager.api.risks.v1.RiskSaveRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.riskmanager.api.risks.v1.RiskSaveRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.riskmanager.api.risks.v1.RiskSaveRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.risks.v1.RiskSaveRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getRisk();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.riskmanager.api.risks.v1.Risk.serializeBinaryToWriter\n );\n }\n f = message.getAssessmentSlug();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional Risk risk = 1;\n * @return {?proto.riskmanager.api.risks.v1.Risk}\n */\nproto.riskmanager.api.risks.v1.RiskSaveRequest.prototype.getRisk = function() {\n return /** @type{?proto.riskmanager.api.risks.v1.Risk} */ (\n jspb.Message.getWrapperField(this, proto.riskmanager.api.risks.v1.Risk, 1));\n};\n\n\n/**\n * @param {?proto.riskmanager.api.risks.v1.Risk|undefined} value\n * @return {!proto.riskmanager.api.risks.v1.RiskSaveRequest} returns this\n*/\nproto.riskmanager.api.risks.v1.RiskSaveRequest.prototype.setRisk = function(value) {\n return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.riskmanager.api.risks.v1.RiskSaveRequest} returns this\n */\nproto.riskmanager.api.risks.v1.RiskSaveRequest.prototype.clearRisk = function() {\n return this.setRisk(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.riskmanager.api.risks.v1.RiskSaveRequest.prototype.hasRisk = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional string assessment_slug = 2;\n * @return {string}\n */\nproto.riskmanager.api.risks.v1.RiskSaveRequest.prototype.getAssessmentSlug = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.riskmanager.api.risks.v1.RiskSaveRequest} returns this\n */\nproto.riskmanager.api.risks.v1.RiskSaveRequest.prototype.setAssessmentSlug = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.riskmanager.api.risks.v1.RiskSaveReply.prototype.toObject = function(opt_includeInstance) {\n return proto.riskmanager.api.risks.v1.RiskSaveReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.riskmanager.api.risks.v1.RiskSaveReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.risks.v1.RiskSaveReply.toObject = function(includeInstance, msg) {\n var f, obj = {\n risk: (f = msg.getRisk()) && proto.riskmanager.api.risks.v1.Risk.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.riskmanager.api.risks.v1.RiskSaveReply}\n */\nproto.riskmanager.api.risks.v1.RiskSaveReply.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.riskmanager.api.risks.v1.RiskSaveReply;\n return proto.riskmanager.api.risks.v1.RiskSaveReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.riskmanager.api.risks.v1.RiskSaveReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.riskmanager.api.risks.v1.RiskSaveReply}\n */\nproto.riskmanager.api.risks.v1.RiskSaveReply.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.riskmanager.api.risks.v1.Risk;\n reader.readMessage(value,proto.riskmanager.api.risks.v1.Risk.deserializeBinaryFromReader);\n msg.setRisk(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.riskmanager.api.risks.v1.RiskSaveReply.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.riskmanager.api.risks.v1.RiskSaveReply.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.riskmanager.api.risks.v1.RiskSaveReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.risks.v1.RiskSaveReply.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getRisk();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.riskmanager.api.risks.v1.Risk.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional Risk risk = 1;\n * @return {?proto.riskmanager.api.risks.v1.Risk}\n */\nproto.riskmanager.api.risks.v1.RiskSaveReply.prototype.getRisk = function() {\n return /** @type{?proto.riskmanager.api.risks.v1.Risk} */ (\n jspb.Message.getWrapperField(this, proto.riskmanager.api.risks.v1.Risk, 1));\n};\n\n\n/**\n * @param {?proto.riskmanager.api.risks.v1.Risk|undefined} value\n * @return {!proto.riskmanager.api.risks.v1.RiskSaveReply} returns this\n*/\nproto.riskmanager.api.risks.v1.RiskSaveReply.prototype.setRisk = function(value) {\n return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.riskmanager.api.risks.v1.RiskSaveReply} returns this\n */\nproto.riskmanager.api.risks.v1.RiskSaveReply.prototype.clearRisk = function() {\n return this.setRisk(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.riskmanager.api.risks.v1.RiskSaveReply.prototype.hasRisk = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.riskmanager.api.risks.v1.RiskGetRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.riskmanager.api.risks.v1.RiskGetRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.riskmanager.api.risks.v1.RiskGetRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.risks.v1.RiskGetRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n riskId: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.riskmanager.api.risks.v1.RiskGetRequest}\n */\nproto.riskmanager.api.risks.v1.RiskGetRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.riskmanager.api.risks.v1.RiskGetRequest;\n return proto.riskmanager.api.risks.v1.RiskGetRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.riskmanager.api.risks.v1.RiskGetRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.riskmanager.api.risks.v1.RiskGetRequest}\n */\nproto.riskmanager.api.risks.v1.RiskGetRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setRiskId(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.riskmanager.api.risks.v1.RiskGetRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.riskmanager.api.risks.v1.RiskGetRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.riskmanager.api.risks.v1.RiskGetRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.risks.v1.RiskGetRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getRiskId();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string risk_id = 1;\n * @return {string}\n */\nproto.riskmanager.api.risks.v1.RiskGetRequest.prototype.getRiskId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.riskmanager.api.risks.v1.RiskGetRequest} returns this\n */\nproto.riskmanager.api.risks.v1.RiskGetRequest.prototype.setRiskId = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.riskmanager.api.risks.v1.RiskGetReply.prototype.toObject = function(opt_includeInstance) {\n return proto.riskmanager.api.risks.v1.RiskGetReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.riskmanager.api.risks.v1.RiskGetReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.risks.v1.RiskGetReply.toObject = function(includeInstance, msg) {\n var f, obj = {\n risk: (f = msg.getRisk()) && proto.riskmanager.api.risks.v1.Risk.toObject(includeInstance, f),\n assessmentSlug: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n assessmentName: jspb.Message.getFieldWithDefault(msg, 3, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.riskmanager.api.risks.v1.RiskGetReply}\n */\nproto.riskmanager.api.risks.v1.RiskGetReply.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.riskmanager.api.risks.v1.RiskGetReply;\n return proto.riskmanager.api.risks.v1.RiskGetReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.riskmanager.api.risks.v1.RiskGetReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.riskmanager.api.risks.v1.RiskGetReply}\n */\nproto.riskmanager.api.risks.v1.RiskGetReply.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.riskmanager.api.risks.v1.Risk;\n reader.readMessage(value,proto.riskmanager.api.risks.v1.Risk.deserializeBinaryFromReader);\n msg.setRisk(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setAssessmentSlug(value);\n break;\n case 3:\n var value = /** @type {string} */ (reader.readString());\n msg.setAssessmentName(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.riskmanager.api.risks.v1.RiskGetReply.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.riskmanager.api.risks.v1.RiskGetReply.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.riskmanager.api.risks.v1.RiskGetReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.risks.v1.RiskGetReply.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getRisk();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.riskmanager.api.risks.v1.Risk.serializeBinaryToWriter\n );\n }\n f = message.getAssessmentSlug();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getAssessmentName();\n if (f.length > 0) {\n writer.writeString(\n 3,\n f\n );\n }\n};\n\n\n/**\n * optional Risk risk = 1;\n * @return {?proto.riskmanager.api.risks.v1.Risk}\n */\nproto.riskmanager.api.risks.v1.RiskGetReply.prototype.getRisk = function() {\n return /** @type{?proto.riskmanager.api.risks.v1.Risk} */ (\n jspb.Message.getWrapperField(this, proto.riskmanager.api.risks.v1.Risk, 1));\n};\n\n\n/**\n * @param {?proto.riskmanager.api.risks.v1.Risk|undefined} value\n * @return {!proto.riskmanager.api.risks.v1.RiskGetReply} returns this\n*/\nproto.riskmanager.api.risks.v1.RiskGetReply.prototype.setRisk = function(value) {\n return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.riskmanager.api.risks.v1.RiskGetReply} returns this\n */\nproto.riskmanager.api.risks.v1.RiskGetReply.prototype.clearRisk = function() {\n return this.setRisk(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.riskmanager.api.risks.v1.RiskGetReply.prototype.hasRisk = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional string assessment_slug = 2;\n * @return {string}\n */\nproto.riskmanager.api.risks.v1.RiskGetReply.prototype.getAssessmentSlug = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.riskmanager.api.risks.v1.RiskGetReply} returns this\n */\nproto.riskmanager.api.risks.v1.RiskGetReply.prototype.setAssessmentSlug = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string assessment_name = 3;\n * @return {string}\n */\nproto.riskmanager.api.risks.v1.RiskGetReply.prototype.getAssessmentName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.riskmanager.api.risks.v1.RiskGetReply} returns this\n */\nproto.riskmanager.api.risks.v1.RiskGetReply.prototype.setAssessmentName = function(value) {\n return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.riskmanager.api.risks.v1.RiskGetAllAssessmentRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.riskmanager.api.risks.v1.RiskGetAllAssessmentRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.riskmanager.api.risks.v1.RiskGetAllAssessmentRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.risks.v1.RiskGetAllAssessmentRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n assessmentSlug: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.riskmanager.api.risks.v1.RiskGetAllAssessmentRequest}\n */\nproto.riskmanager.api.risks.v1.RiskGetAllAssessmentRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.riskmanager.api.risks.v1.RiskGetAllAssessmentRequest;\n return proto.riskmanager.api.risks.v1.RiskGetAllAssessmentRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.riskmanager.api.risks.v1.RiskGetAllAssessmentRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.riskmanager.api.risks.v1.RiskGetAllAssessmentRequest}\n */\nproto.riskmanager.api.risks.v1.RiskGetAllAssessmentRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setAssessmentSlug(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.riskmanager.api.risks.v1.RiskGetAllAssessmentRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.riskmanager.api.risks.v1.RiskGetAllAssessmentRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.riskmanager.api.risks.v1.RiskGetAllAssessmentRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.risks.v1.RiskGetAllAssessmentRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getAssessmentSlug();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string assessment_slug = 1;\n * @return {string}\n */\nproto.riskmanager.api.risks.v1.RiskGetAllAssessmentRequest.prototype.getAssessmentSlug = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.riskmanager.api.risks.v1.RiskGetAllAssessmentRequest} returns this\n */\nproto.riskmanager.api.risks.v1.RiskGetAllAssessmentRequest.prototype.setAssessmentSlug = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.riskmanager.api.risks.v1.RiskGetAllAssessmentReply.repeatedFields_ = [2];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.riskmanager.api.risks.v1.RiskGetAllAssessmentReply.prototype.toObject = function(opt_includeInstance) {\n return proto.riskmanager.api.risks.v1.RiskGetAllAssessmentReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.riskmanager.api.risks.v1.RiskGetAllAssessmentReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.risks.v1.RiskGetAllAssessmentReply.toObject = function(includeInstance, msg) {\n var f, obj = {\n assessment: (f = msg.getAssessment()) && assessments_assessments_pb.Assessment.toObject(includeInstance, f),\n risksList: jspb.Message.toObjectList(msg.getRisksList(),\n proto.riskmanager.api.risks.v1.Risk.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.riskmanager.api.risks.v1.RiskGetAllAssessmentReply}\n */\nproto.riskmanager.api.risks.v1.RiskGetAllAssessmentReply.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.riskmanager.api.risks.v1.RiskGetAllAssessmentReply;\n return proto.riskmanager.api.risks.v1.RiskGetAllAssessmentReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.riskmanager.api.risks.v1.RiskGetAllAssessmentReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.riskmanager.api.risks.v1.RiskGetAllAssessmentReply}\n */\nproto.riskmanager.api.risks.v1.RiskGetAllAssessmentReply.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new assessments_assessments_pb.Assessment;\n reader.readMessage(value,assessments_assessments_pb.Assessment.deserializeBinaryFromReader);\n msg.setAssessment(value);\n break;\n case 2:\n var value = new proto.riskmanager.api.risks.v1.Risk;\n reader.readMessage(value,proto.riskmanager.api.risks.v1.Risk.deserializeBinaryFromReader);\n msg.addRisks(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.riskmanager.api.risks.v1.RiskGetAllAssessmentReply.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.riskmanager.api.risks.v1.RiskGetAllAssessmentReply.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.riskmanager.api.risks.v1.RiskGetAllAssessmentReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.risks.v1.RiskGetAllAssessmentReply.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getAssessment();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n assessments_assessments_pb.Assessment.serializeBinaryToWriter\n );\n }\n f = message.getRisksList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 2,\n f,\n proto.riskmanager.api.risks.v1.Risk.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional riskmanager.api.assessments.v1.Assessment assessment = 1;\n * @return {?proto.riskmanager.api.assessments.v1.Assessment}\n */\nproto.riskmanager.api.risks.v1.RiskGetAllAssessmentReply.prototype.getAssessment = function() {\n return /** @type{?proto.riskmanager.api.assessments.v1.Assessment} */ (\n jspb.Message.getWrapperField(this, assessments_assessments_pb.Assessment, 1));\n};\n\n\n/**\n * @param {?proto.riskmanager.api.assessments.v1.Assessment|undefined} value\n * @return {!proto.riskmanager.api.risks.v1.RiskGetAllAssessmentReply} returns this\n*/\nproto.riskmanager.api.risks.v1.RiskGetAllAssessmentReply.prototype.setAssessment = function(value) {\n return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.riskmanager.api.risks.v1.RiskGetAllAssessmentReply} returns this\n */\nproto.riskmanager.api.risks.v1.RiskGetAllAssessmentReply.prototype.clearAssessment = function() {\n return this.setAssessment(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.riskmanager.api.risks.v1.RiskGetAllAssessmentReply.prototype.hasAssessment = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * repeated Risk risks = 2;\n * @return {!Array}\n */\nproto.riskmanager.api.risks.v1.RiskGetAllAssessmentReply.prototype.getRisksList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.riskmanager.api.risks.v1.Risk, 2));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.riskmanager.api.risks.v1.RiskGetAllAssessmentReply} returns this\n*/\nproto.riskmanager.api.risks.v1.RiskGetAllAssessmentReply.prototype.setRisksList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 2, value);\n};\n\n\n/**\n * @param {!proto.riskmanager.api.risks.v1.Risk=} opt_value\n * @param {number=} opt_index\n * @return {!proto.riskmanager.api.risks.v1.Risk}\n */\nproto.riskmanager.api.risks.v1.RiskGetAllAssessmentReply.prototype.addRisks = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.riskmanager.api.risks.v1.Risk, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.riskmanager.api.risks.v1.RiskGetAllAssessmentReply} returns this\n */\nproto.riskmanager.api.risks.v1.RiskGetAllAssessmentReply.prototype.clearRisksList = function() {\n return this.setRisksList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.riskmanager.api.risks.v1.RiskGetLatestRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.riskmanager.api.risks.v1.RiskGetLatestRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.riskmanager.api.risks.v1.RiskGetLatestRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.risks.v1.RiskGetLatestRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n numberOfRisks: jspb.Message.getFieldWithDefault(msg, 1, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.riskmanager.api.risks.v1.RiskGetLatestRequest}\n */\nproto.riskmanager.api.risks.v1.RiskGetLatestRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.riskmanager.api.risks.v1.RiskGetLatestRequest;\n return proto.riskmanager.api.risks.v1.RiskGetLatestRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.riskmanager.api.risks.v1.RiskGetLatestRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.riskmanager.api.risks.v1.RiskGetLatestRequest}\n */\nproto.riskmanager.api.risks.v1.RiskGetLatestRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setNumberOfRisks(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.riskmanager.api.risks.v1.RiskGetLatestRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.riskmanager.api.risks.v1.RiskGetLatestRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.riskmanager.api.risks.v1.RiskGetLatestRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.risks.v1.RiskGetLatestRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getNumberOfRisks();\n if (f !== 0) {\n writer.writeInt32(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional int32 number_of_risks = 1;\n * @return {number}\n */\nproto.riskmanager.api.risks.v1.RiskGetLatestRequest.prototype.getNumberOfRisks = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.riskmanager.api.risks.v1.RiskGetLatestRequest} returns this\n */\nproto.riskmanager.api.risks.v1.RiskGetLatestRequest.prototype.setNumberOfRisks = function(value) {\n return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.riskmanager.api.risks.v1.RiskGetLatestReply.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.riskmanager.api.risks.v1.RiskGetLatestReply.prototype.toObject = function(opt_includeInstance) {\n return proto.riskmanager.api.risks.v1.RiskGetLatestReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.riskmanager.api.risks.v1.RiskGetLatestReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.risks.v1.RiskGetLatestReply.toObject = function(includeInstance, msg) {\n var f, obj = {\n risksList: jspb.Message.toObjectList(msg.getRisksList(),\n proto.riskmanager.api.risks.v1.Risk.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.riskmanager.api.risks.v1.RiskGetLatestReply}\n */\nproto.riskmanager.api.risks.v1.RiskGetLatestReply.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.riskmanager.api.risks.v1.RiskGetLatestReply;\n return proto.riskmanager.api.risks.v1.RiskGetLatestReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.riskmanager.api.risks.v1.RiskGetLatestReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.riskmanager.api.risks.v1.RiskGetLatestReply}\n */\nproto.riskmanager.api.risks.v1.RiskGetLatestReply.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.riskmanager.api.risks.v1.Risk;\n reader.readMessage(value,proto.riskmanager.api.risks.v1.Risk.deserializeBinaryFromReader);\n msg.addRisks(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.riskmanager.api.risks.v1.RiskGetLatestReply.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.riskmanager.api.risks.v1.RiskGetLatestReply.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.riskmanager.api.risks.v1.RiskGetLatestReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.risks.v1.RiskGetLatestReply.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getRisksList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 1,\n f,\n proto.riskmanager.api.risks.v1.Risk.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * repeated Risk risks = 1;\n * @return {!Array}\n */\nproto.riskmanager.api.risks.v1.RiskGetLatestReply.prototype.getRisksList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.riskmanager.api.risks.v1.Risk, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.riskmanager.api.risks.v1.RiskGetLatestReply} returns this\n*/\nproto.riskmanager.api.risks.v1.RiskGetLatestReply.prototype.setRisksList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 1, value);\n};\n\n\n/**\n * @param {!proto.riskmanager.api.risks.v1.Risk=} opt_value\n * @param {number=} opt_index\n * @return {!proto.riskmanager.api.risks.v1.Risk}\n */\nproto.riskmanager.api.risks.v1.RiskGetLatestReply.prototype.addRisks = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.riskmanager.api.risks.v1.Risk, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.riskmanager.api.risks.v1.RiskGetLatestReply} returns this\n */\nproto.riskmanager.api.risks.v1.RiskGetLatestReply.prototype.clearRisksList = function() {\n return this.setRisksList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.riskmanager.api.risks.v1.RiskDeleteRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.riskmanager.api.risks.v1.RiskDeleteRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.riskmanager.api.risks.v1.RiskDeleteRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.risks.v1.RiskDeleteRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n riskId: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.riskmanager.api.risks.v1.RiskDeleteRequest}\n */\nproto.riskmanager.api.risks.v1.RiskDeleteRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.riskmanager.api.risks.v1.RiskDeleteRequest;\n return proto.riskmanager.api.risks.v1.RiskDeleteRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.riskmanager.api.risks.v1.RiskDeleteRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.riskmanager.api.risks.v1.RiskDeleteRequest}\n */\nproto.riskmanager.api.risks.v1.RiskDeleteRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setRiskId(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.riskmanager.api.risks.v1.RiskDeleteRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.riskmanager.api.risks.v1.RiskDeleteRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.riskmanager.api.risks.v1.RiskDeleteRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.risks.v1.RiskDeleteRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getRiskId();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string risk_id = 1;\n * @return {string}\n */\nproto.riskmanager.api.risks.v1.RiskDeleteRequest.prototype.getRiskId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.riskmanager.api.risks.v1.RiskDeleteRequest} returns this\n */\nproto.riskmanager.api.risks.v1.RiskDeleteRequest.prototype.setRiskId = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.riskmanager.api.risks.v1.RiskDeleteReply.prototype.toObject = function(opt_includeInstance) {\n return proto.riskmanager.api.risks.v1.RiskDeleteReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.riskmanager.api.risks.v1.RiskDeleteReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.risks.v1.RiskDeleteReply.toObject = function(includeInstance, msg) {\n var f, obj = {\n deleted: jspb.Message.getBooleanFieldWithDefault(msg, 1, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.riskmanager.api.risks.v1.RiskDeleteReply}\n */\nproto.riskmanager.api.risks.v1.RiskDeleteReply.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.riskmanager.api.risks.v1.RiskDeleteReply;\n return proto.riskmanager.api.risks.v1.RiskDeleteReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.riskmanager.api.risks.v1.RiskDeleteReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.riskmanager.api.risks.v1.RiskDeleteReply}\n */\nproto.riskmanager.api.risks.v1.RiskDeleteReply.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setDeleted(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.riskmanager.api.risks.v1.RiskDeleteReply.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.riskmanager.api.risks.v1.RiskDeleteReply.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.riskmanager.api.risks.v1.RiskDeleteReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.risks.v1.RiskDeleteReply.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getDeleted();\n if (f) {\n writer.writeBool(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional bool deleted = 1;\n * @return {boolean}\n */\nproto.riskmanager.api.risks.v1.RiskDeleteReply.prototype.getDeleted = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.riskmanager.api.risks.v1.RiskDeleteReply} returns this\n */\nproto.riskmanager.api.risks.v1.RiskDeleteReply.prototype.setDeleted = function(value) {\n return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.riskmanager.api.risks.v1.RiskSearchRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.riskmanager.api.risks.v1.RiskSearchRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.riskmanager.api.risks.v1.RiskSearchRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.risks.v1.RiskSearchRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n searchTerm: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.riskmanager.api.risks.v1.RiskSearchRequest}\n */\nproto.riskmanager.api.risks.v1.RiskSearchRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.riskmanager.api.risks.v1.RiskSearchRequest;\n return proto.riskmanager.api.risks.v1.RiskSearchRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.riskmanager.api.risks.v1.RiskSearchRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.riskmanager.api.risks.v1.RiskSearchRequest}\n */\nproto.riskmanager.api.risks.v1.RiskSearchRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setSearchTerm(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.riskmanager.api.risks.v1.RiskSearchRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.riskmanager.api.risks.v1.RiskSearchRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.riskmanager.api.risks.v1.RiskSearchRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.risks.v1.RiskSearchRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSearchTerm();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string search_term = 1;\n * @return {string}\n */\nproto.riskmanager.api.risks.v1.RiskSearchRequest.prototype.getSearchTerm = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.riskmanager.api.risks.v1.RiskSearchRequest} returns this\n */\nproto.riskmanager.api.risks.v1.RiskSearchRequest.prototype.setSearchTerm = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.riskmanager.api.risks.v1.RiskSearchReply.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.riskmanager.api.risks.v1.RiskSearchReply.prototype.toObject = function(opt_includeInstance) {\n return proto.riskmanager.api.risks.v1.RiskSearchReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.riskmanager.api.risks.v1.RiskSearchReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.risks.v1.RiskSearchReply.toObject = function(includeInstance, msg) {\n var f, obj = {\n searchHitsList: jspb.Message.toObjectList(msg.getSearchHitsList(),\n proto.riskmanager.api.risks.v1.RiskSearchHit.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.riskmanager.api.risks.v1.RiskSearchReply}\n */\nproto.riskmanager.api.risks.v1.RiskSearchReply.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.riskmanager.api.risks.v1.RiskSearchReply;\n return proto.riskmanager.api.risks.v1.RiskSearchReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.riskmanager.api.risks.v1.RiskSearchReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.riskmanager.api.risks.v1.RiskSearchReply}\n */\nproto.riskmanager.api.risks.v1.RiskSearchReply.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.riskmanager.api.risks.v1.RiskSearchHit;\n reader.readMessage(value,proto.riskmanager.api.risks.v1.RiskSearchHit.deserializeBinaryFromReader);\n msg.addSearchHits(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.riskmanager.api.risks.v1.RiskSearchReply.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.riskmanager.api.risks.v1.RiskSearchReply.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.riskmanager.api.risks.v1.RiskSearchReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.risks.v1.RiskSearchReply.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSearchHitsList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 1,\n f,\n proto.riskmanager.api.risks.v1.RiskSearchHit.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * repeated RiskSearchHit search_hits = 1;\n * @return {!Array}\n */\nproto.riskmanager.api.risks.v1.RiskSearchReply.prototype.getSearchHitsList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.riskmanager.api.risks.v1.RiskSearchHit, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.riskmanager.api.risks.v1.RiskSearchReply} returns this\n*/\nproto.riskmanager.api.risks.v1.RiskSearchReply.prototype.setSearchHitsList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 1, value);\n};\n\n\n/**\n * @param {!proto.riskmanager.api.risks.v1.RiskSearchHit=} opt_value\n * @param {number=} opt_index\n * @return {!proto.riskmanager.api.risks.v1.RiskSearchHit}\n */\nproto.riskmanager.api.risks.v1.RiskSearchReply.prototype.addSearchHits = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.riskmanager.api.risks.v1.RiskSearchHit, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.riskmanager.api.risks.v1.RiskSearchReply} returns this\n */\nproto.riskmanager.api.risks.v1.RiskSearchReply.prototype.clearSearchHitsList = function() {\n return this.setSearchHitsList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.riskmanager.api.risks.v1.RiskSearchHit.prototype.toObject = function(opt_includeInstance) {\n return proto.riskmanager.api.risks.v1.RiskSearchHit.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.riskmanager.api.risks.v1.RiskSearchHit} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.risks.v1.RiskSearchHit.toObject = function(includeInstance, msg) {\n var f, obj = {\n match: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n risk: (f = msg.getRisk()) && proto.riskmanager.api.risks.v1.Risk.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.riskmanager.api.risks.v1.RiskSearchHit}\n */\nproto.riskmanager.api.risks.v1.RiskSearchHit.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.riskmanager.api.risks.v1.RiskSearchHit;\n return proto.riskmanager.api.risks.v1.RiskSearchHit.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.riskmanager.api.risks.v1.RiskSearchHit} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.riskmanager.api.risks.v1.RiskSearchHit}\n */\nproto.riskmanager.api.risks.v1.RiskSearchHit.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setMatch(value);\n break;\n case 2:\n var value = new proto.riskmanager.api.risks.v1.Risk;\n reader.readMessage(value,proto.riskmanager.api.risks.v1.Risk.deserializeBinaryFromReader);\n msg.setRisk(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.riskmanager.api.risks.v1.RiskSearchHit.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.riskmanager.api.risks.v1.RiskSearchHit.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.riskmanager.api.risks.v1.RiskSearchHit} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.riskmanager.api.risks.v1.RiskSearchHit.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getMatch();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getRisk();\n if (f != null) {\n writer.writeMessage(\n 2,\n f,\n proto.riskmanager.api.risks.v1.Risk.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional string match = 1;\n * @return {string}\n */\nproto.riskmanager.api.risks.v1.RiskSearchHit.prototype.getMatch = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.riskmanager.api.risks.v1.RiskSearchHit} returns this\n */\nproto.riskmanager.api.risks.v1.RiskSearchHit.prototype.setMatch = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional Risk risk = 2;\n * @return {?proto.riskmanager.api.risks.v1.Risk}\n */\nproto.riskmanager.api.risks.v1.RiskSearchHit.prototype.getRisk = function() {\n return /** @type{?proto.riskmanager.api.risks.v1.Risk} */ (\n jspb.Message.getWrapperField(this, proto.riskmanager.api.risks.v1.Risk, 2));\n};\n\n\n/**\n * @param {?proto.riskmanager.api.risks.v1.Risk|undefined} value\n * @return {!proto.riskmanager.api.risks.v1.RiskSearchHit} returns this\n*/\nproto.riskmanager.api.risks.v1.RiskSearchHit.prototype.setRisk = function(value) {\n return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.riskmanager.api.risks.v1.RiskSearchHit} returns this\n */\nproto.riskmanager.api.risks.v1.RiskSearchHit.prototype.clearRisk = function() {\n return this.setRisk(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.riskmanager.api.risks.v1.RiskSearchHit.prototype.hasRisk = function() {\n return jspb.Message.getField(this, 2) != null;\n};\n\n\ngoog.object.extend(exports, proto.riskmanager.api.risks.v1);\n","/**\n * @fileoverview gRPC-Web generated client stub for riskmanager.api.assessments.v1\n * @enhanceable\n * @public\n */\n\n// GENERATED CODE -- DO NOT EDIT!\n\n\n/* eslint-disable */\n// @ts-nocheck\n\n\n\nconst grpc = {};\ngrpc.web = require('grpc-web');\n\nconst proto = {};\nproto.riskmanager = {};\nproto.riskmanager.api = {};\nproto.riskmanager.api.assessments = {};\nproto.riskmanager.api.assessments.v1 = require('./assessments_pb.js');\n\n/**\n * @param {string} hostname\n * @param {?Object} credentials\n * @param {?grpc.web.ClientOptions} options\n * @constructor\n * @struct\n * @final\n */\nproto.riskmanager.api.assessments.v1.AssessmentServiceClient =\n function(hostname, credentials, options) {\n if (!options) options = {};\n options.format = 'text';\n\n /**\n * @private @const {!grpc.web.GrpcWebClientBase} The client\n */\n this.client_ = new grpc.web.GrpcWebClientBase(options);\n\n /**\n * @private @const {string} The hostname\n */\n this.hostname_ = hostname;\n\n};\n\n\n/**\n * @param {string} hostname\n * @param {?Object} credentials\n * @param {?grpc.web.ClientOptions} options\n * @constructor\n * @struct\n * @final\n */\nproto.riskmanager.api.assessments.v1.AssessmentServicePromiseClient =\n function(hostname, credentials, options) {\n if (!options) options = {};\n options.format = 'text';\n\n /**\n * @private @const {!grpc.web.GrpcWebClientBase} The client\n */\n this.client_ = new grpc.web.GrpcWebClientBase(options);\n\n /**\n * @private @const {string} The hostname\n */\n this.hostname_ = hostname;\n\n};\n\n\n/**\n * @const\n * @type {!grpc.web.MethodDescriptor<\n * !proto.riskmanager.api.assessments.v1.AssessmentSaveRequest,\n * !proto.riskmanager.api.assessments.v1.AssessmentSaveReply>}\n */\nconst methodDescriptor_AssessmentService_Save = new grpc.web.MethodDescriptor(\n '/riskmanager.api.assessments.v1.AssessmentService/Save',\n grpc.web.MethodType.UNARY,\n proto.riskmanager.api.assessments.v1.AssessmentSaveRequest,\n proto.riskmanager.api.assessments.v1.AssessmentSaveReply,\n /**\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentSaveRequest} request\n * @return {!Uint8Array}\n */\n function(request) {\n return request.serializeBinary();\n },\n proto.riskmanager.api.assessments.v1.AssessmentSaveReply.deserializeBinary\n);\n\n\n/**\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentSaveRequest} request The\n * request proto\n * @param {?Object} metadata User defined\n * call metadata\n * @param {function(?grpc.web.RpcError, ?proto.riskmanager.api.assessments.v1.AssessmentSaveReply)}\n * callback The callback function(error, response)\n * @return {!grpc.web.ClientReadableStream|undefined}\n * The XHR Node Readable Stream\n */\nproto.riskmanager.api.assessments.v1.AssessmentServiceClient.prototype.save =\n function(request, metadata, callback) {\n return this.client_.rpcCall(this.hostname_ +\n '/riskmanager.api.assessments.v1.AssessmentService/Save',\n request,\n metadata || {},\n methodDescriptor_AssessmentService_Save,\n callback);\n};\n\n\n/**\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentSaveRequest} request The\n * request proto\n * @param {?Object=} metadata User defined\n * call metadata\n * @return {!Promise}\n * Promise that resolves to the response\n */\nproto.riskmanager.api.assessments.v1.AssessmentServicePromiseClient.prototype.save =\n function(request, metadata) {\n return this.client_.unaryCall(this.hostname_ +\n '/riskmanager.api.assessments.v1.AssessmentService/Save',\n request,\n metadata || {},\n methodDescriptor_AssessmentService_Save);\n};\n\n\n/**\n * @const\n * @type {!grpc.web.MethodDescriptor<\n * !proto.riskmanager.api.assessments.v1.AssessmentGetRequest,\n * !proto.riskmanager.api.assessments.v1.AssessmentGetReply>}\n */\nconst methodDescriptor_AssessmentService_Get = new grpc.web.MethodDescriptor(\n '/riskmanager.api.assessments.v1.AssessmentService/Get',\n grpc.web.MethodType.UNARY,\n proto.riskmanager.api.assessments.v1.AssessmentGetRequest,\n proto.riskmanager.api.assessments.v1.AssessmentGetReply,\n /**\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentGetRequest} request\n * @return {!Uint8Array}\n */\n function(request) {\n return request.serializeBinary();\n },\n proto.riskmanager.api.assessments.v1.AssessmentGetReply.deserializeBinary\n);\n\n\n/**\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentGetRequest} request The\n * request proto\n * @param {?Object} metadata User defined\n * call metadata\n * @param {function(?grpc.web.RpcError, ?proto.riskmanager.api.assessments.v1.AssessmentGetReply)}\n * callback The callback function(error, response)\n * @return {!grpc.web.ClientReadableStream|undefined}\n * The XHR Node Readable Stream\n */\nproto.riskmanager.api.assessments.v1.AssessmentServiceClient.prototype.get =\n function(request, metadata, callback) {\n return this.client_.rpcCall(this.hostname_ +\n '/riskmanager.api.assessments.v1.AssessmentService/Get',\n request,\n metadata || {},\n methodDescriptor_AssessmentService_Get,\n callback);\n};\n\n\n/**\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentGetRequest} request The\n * request proto\n * @param {?Object=} metadata User defined\n * call metadata\n * @return {!Promise}\n * Promise that resolves to the response\n */\nproto.riskmanager.api.assessments.v1.AssessmentServicePromiseClient.prototype.get =\n function(request, metadata) {\n return this.client_.unaryCall(this.hostname_ +\n '/riskmanager.api.assessments.v1.AssessmentService/Get',\n request,\n metadata || {},\n methodDescriptor_AssessmentService_Get);\n};\n\n\n/**\n * @const\n * @type {!grpc.web.MethodDescriptor<\n * !proto.riskmanager.api.assessments.v1.AssessmentDeleteRequest,\n * !proto.riskmanager.api.assessments.v1.AssessmentDeleteReply>}\n */\nconst methodDescriptor_AssessmentService_Delete = new grpc.web.MethodDescriptor(\n '/riskmanager.api.assessments.v1.AssessmentService/Delete',\n grpc.web.MethodType.UNARY,\n proto.riskmanager.api.assessments.v1.AssessmentDeleteRequest,\n proto.riskmanager.api.assessments.v1.AssessmentDeleteReply,\n /**\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentDeleteRequest} request\n * @return {!Uint8Array}\n */\n function(request) {\n return request.serializeBinary();\n },\n proto.riskmanager.api.assessments.v1.AssessmentDeleteReply.deserializeBinary\n);\n\n\n/**\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentDeleteRequest} request The\n * request proto\n * @param {?Object} metadata User defined\n * call metadata\n * @param {function(?grpc.web.RpcError, ?proto.riskmanager.api.assessments.v1.AssessmentDeleteReply)}\n * callback The callback function(error, response)\n * @return {!grpc.web.ClientReadableStream|undefined}\n * The XHR Node Readable Stream\n */\nproto.riskmanager.api.assessments.v1.AssessmentServiceClient.prototype.delete =\n function(request, metadata, callback) {\n return this.client_.rpcCall(this.hostname_ +\n '/riskmanager.api.assessments.v1.AssessmentService/Delete',\n request,\n metadata || {},\n methodDescriptor_AssessmentService_Delete,\n callback);\n};\n\n\n/**\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentDeleteRequest} request The\n * request proto\n * @param {?Object=} metadata User defined\n * call metadata\n * @return {!Promise}\n * Promise that resolves to the response\n */\nproto.riskmanager.api.assessments.v1.AssessmentServicePromiseClient.prototype.delete =\n function(request, metadata) {\n return this.client_.unaryCall(this.hostname_ +\n '/riskmanager.api.assessments.v1.AssessmentService/Delete',\n request,\n metadata || {},\n methodDescriptor_AssessmentService_Delete);\n};\n\n\n/**\n * @const\n * @type {!grpc.web.MethodDescriptor<\n * !proto.riskmanager.api.assessments.v1.AssessmentSearchRequest,\n * !proto.riskmanager.api.assessments.v1.AssessmentSearchReply>}\n */\nconst methodDescriptor_AssessmentService_Search = new grpc.web.MethodDescriptor(\n '/riskmanager.api.assessments.v1.AssessmentService/Search',\n grpc.web.MethodType.UNARY,\n proto.riskmanager.api.assessments.v1.AssessmentSearchRequest,\n proto.riskmanager.api.assessments.v1.AssessmentSearchReply,\n /**\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentSearchRequest} request\n * @return {!Uint8Array}\n */\n function(request) {\n return request.serializeBinary();\n },\n proto.riskmanager.api.assessments.v1.AssessmentSearchReply.deserializeBinary\n);\n\n\n/**\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentSearchRequest} request The\n * request proto\n * @param {?Object} metadata User defined\n * call metadata\n * @param {function(?grpc.web.RpcError, ?proto.riskmanager.api.assessments.v1.AssessmentSearchReply)}\n * callback The callback function(error, response)\n * @return {!grpc.web.ClientReadableStream|undefined}\n * The XHR Node Readable Stream\n */\nproto.riskmanager.api.assessments.v1.AssessmentServiceClient.prototype.search =\n function(request, metadata, callback) {\n return this.client_.rpcCall(this.hostname_ +\n '/riskmanager.api.assessments.v1.AssessmentService/Search',\n request,\n metadata || {},\n methodDescriptor_AssessmentService_Search,\n callback);\n};\n\n\n/**\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentSearchRequest} request The\n * request proto\n * @param {?Object=} metadata User defined\n * call metadata\n * @return {!Promise}\n * Promise that resolves to the response\n */\nproto.riskmanager.api.assessments.v1.AssessmentServicePromiseClient.prototype.search =\n function(request, metadata) {\n return this.client_.unaryCall(this.hostname_ +\n '/riskmanager.api.assessments.v1.AssessmentService/Search',\n request,\n metadata || {},\n methodDescriptor_AssessmentService_Search);\n};\n\n\n/**\n * @const\n * @type {!grpc.web.MethodDescriptor<\n * !proto.riskmanager.api.assessments.v1.AssessmentGetLatestRequest,\n * !proto.riskmanager.api.assessments.v1.AssessmentGetLatestReply>}\n */\nconst methodDescriptor_AssessmentService_GetLatest = new grpc.web.MethodDescriptor(\n '/riskmanager.api.assessments.v1.AssessmentService/GetLatest',\n grpc.web.MethodType.UNARY,\n proto.riskmanager.api.assessments.v1.AssessmentGetLatestRequest,\n proto.riskmanager.api.assessments.v1.AssessmentGetLatestReply,\n /**\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentGetLatestRequest} request\n * @return {!Uint8Array}\n */\n function(request) {\n return request.serializeBinary();\n },\n proto.riskmanager.api.assessments.v1.AssessmentGetLatestReply.deserializeBinary\n);\n\n\n/**\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentGetLatestRequest} request The\n * request proto\n * @param {?Object} metadata User defined\n * call metadata\n * @param {function(?grpc.web.RpcError, ?proto.riskmanager.api.assessments.v1.AssessmentGetLatestReply)}\n * callback The callback function(error, response)\n * @return {!grpc.web.ClientReadableStream|undefined}\n * The XHR Node Readable Stream\n */\nproto.riskmanager.api.assessments.v1.AssessmentServiceClient.prototype.getLatest =\n function(request, metadata, callback) {\n return this.client_.rpcCall(this.hostname_ +\n '/riskmanager.api.assessments.v1.AssessmentService/GetLatest',\n request,\n metadata || {},\n methodDescriptor_AssessmentService_GetLatest,\n callback);\n};\n\n\n/**\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentGetLatestRequest} request The\n * request proto\n * @param {?Object=} metadata User defined\n * call metadata\n * @return {!Promise}\n * Promise that resolves to the response\n */\nproto.riskmanager.api.assessments.v1.AssessmentServicePromiseClient.prototype.getLatest =\n function(request, metadata) {\n return this.client_.unaryCall(this.hostname_ +\n '/riskmanager.api.assessments.v1.AssessmentService/GetLatest',\n request,\n metadata || {},\n methodDescriptor_AssessmentService_GetLatest);\n};\n\n\n/**\n * @const\n * @type {!grpc.web.MethodDescriptor<\n * !proto.riskmanager.api.assessments.v1.AssessmentUpdateStateRequest,\n * !proto.riskmanager.api.assessments.v1.AssessmentUpdateStateReply>}\n */\nconst methodDescriptor_AssessmentService_UpdateState = new grpc.web.MethodDescriptor(\n '/riskmanager.api.assessments.v1.AssessmentService/UpdateState',\n grpc.web.MethodType.UNARY,\n proto.riskmanager.api.assessments.v1.AssessmentUpdateStateRequest,\n proto.riskmanager.api.assessments.v1.AssessmentUpdateStateReply,\n /**\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentUpdateStateRequest} request\n * @return {!Uint8Array}\n */\n function(request) {\n return request.serializeBinary();\n },\n proto.riskmanager.api.assessments.v1.AssessmentUpdateStateReply.deserializeBinary\n);\n\n\n/**\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentUpdateStateRequest} request The\n * request proto\n * @param {?Object} metadata User defined\n * call metadata\n * @param {function(?grpc.web.RpcError, ?proto.riskmanager.api.assessments.v1.AssessmentUpdateStateReply)}\n * callback The callback function(error, response)\n * @return {!grpc.web.ClientReadableStream|undefined}\n * The XHR Node Readable Stream\n */\nproto.riskmanager.api.assessments.v1.AssessmentServiceClient.prototype.updateState =\n function(request, metadata, callback) {\n return this.client_.rpcCall(this.hostname_ +\n '/riskmanager.api.assessments.v1.AssessmentService/UpdateState',\n request,\n metadata || {},\n methodDescriptor_AssessmentService_UpdateState,\n callback);\n};\n\n\n/**\n * @param {!proto.riskmanager.api.assessments.v1.AssessmentUpdateStateRequest} request The\n * request proto\n * @param {?Object=} metadata User defined\n * call metadata\n * @return {!Promise}\n * Promise that resolves to the response\n */\nproto.riskmanager.api.assessments.v1.AssessmentServicePromiseClient.prototype.updateState =\n function(request, metadata) {\n return this.client_.unaryCall(this.hostname_ +\n '/riskmanager.api.assessments.v1.AssessmentService/UpdateState',\n request,\n metadata || {},\n methodDescriptor_AssessmentService_UpdateState);\n};\n\n\nmodule.exports = proto.riskmanager.api.assessments.v1;\n\n","/**\n * @fileoverview gRPC-Web generated client stub for riskmanager.api.risks.v1\n * @enhanceable\n * @public\n */\n\n// GENERATED CODE -- DO NOT EDIT!\n\n\n/* eslint-disable */\n// @ts-nocheck\n\n\n\nconst grpc = {};\ngrpc.web = require('grpc-web');\n\n\nvar assessments_assessments_pb = require('../assessments/assessments_pb.js')\nconst proto = {};\nproto.riskmanager = {};\nproto.riskmanager.api = {};\nproto.riskmanager.api.risks = {};\nproto.riskmanager.api.risks.v1 = require('./risks_pb.js');\n\n/**\n * @param {string} hostname\n * @param {?Object} credentials\n * @param {?grpc.web.ClientOptions} options\n * @constructor\n * @struct\n * @final\n */\nproto.riskmanager.api.risks.v1.RiskServiceClient =\n function(hostname, credentials, options) {\n if (!options) options = {};\n options.format = 'text';\n\n /**\n * @private @const {!grpc.web.GrpcWebClientBase} The client\n */\n this.client_ = new grpc.web.GrpcWebClientBase(options);\n\n /**\n * @private @const {string} The hostname\n */\n this.hostname_ = hostname;\n\n};\n\n\n/**\n * @param {string} hostname\n * @param {?Object} credentials\n * @param {?grpc.web.ClientOptions} options\n * @constructor\n * @struct\n * @final\n */\nproto.riskmanager.api.risks.v1.RiskServicePromiseClient =\n function(hostname, credentials, options) {\n if (!options) options = {};\n options.format = 'text';\n\n /**\n * @private @const {!grpc.web.GrpcWebClientBase} The client\n */\n this.client_ = new grpc.web.GrpcWebClientBase(options);\n\n /**\n * @private @const {string} The hostname\n */\n this.hostname_ = hostname;\n\n};\n\n\n/**\n * @const\n * @type {!grpc.web.MethodDescriptor<\n * !proto.riskmanager.api.risks.v1.RiskSaveRequest,\n * !proto.riskmanager.api.risks.v1.RiskSaveReply>}\n */\nconst methodDescriptor_RiskService_Save = new grpc.web.MethodDescriptor(\n '/riskmanager.api.risks.v1.RiskService/Save',\n grpc.web.MethodType.UNARY,\n proto.riskmanager.api.risks.v1.RiskSaveRequest,\n proto.riskmanager.api.risks.v1.RiskSaveReply,\n /**\n * @param {!proto.riskmanager.api.risks.v1.RiskSaveRequest} request\n * @return {!Uint8Array}\n */\n function(request) {\n return request.serializeBinary();\n },\n proto.riskmanager.api.risks.v1.RiskSaveReply.deserializeBinary\n);\n\n\n/**\n * @param {!proto.riskmanager.api.risks.v1.RiskSaveRequest} request The\n * request proto\n * @param {?Object} metadata User defined\n * call metadata\n * @param {function(?grpc.web.RpcError, ?proto.riskmanager.api.risks.v1.RiskSaveReply)}\n * callback The callback function(error, response)\n * @return {!grpc.web.ClientReadableStream|undefined}\n * The XHR Node Readable Stream\n */\nproto.riskmanager.api.risks.v1.RiskServiceClient.prototype.save =\n function(request, metadata, callback) {\n return this.client_.rpcCall(this.hostname_ +\n '/riskmanager.api.risks.v1.RiskService/Save',\n request,\n metadata || {},\n methodDescriptor_RiskService_Save,\n callback);\n};\n\n\n/**\n * @param {!proto.riskmanager.api.risks.v1.RiskSaveRequest} request The\n * request proto\n * @param {?Object=} metadata User defined\n * call metadata\n * @return {!Promise}\n * Promise that resolves to the response\n */\nproto.riskmanager.api.risks.v1.RiskServicePromiseClient.prototype.save =\n function(request, metadata) {\n return this.client_.unaryCall(this.hostname_ +\n '/riskmanager.api.risks.v1.RiskService/Save',\n request,\n metadata || {},\n methodDescriptor_RiskService_Save);\n};\n\n\n/**\n * @const\n * @type {!grpc.web.MethodDescriptor<\n * !proto.riskmanager.api.risks.v1.RiskGetRequest,\n * !proto.riskmanager.api.risks.v1.RiskGetReply>}\n */\nconst methodDescriptor_RiskService_Get = new grpc.web.MethodDescriptor(\n '/riskmanager.api.risks.v1.RiskService/Get',\n grpc.web.MethodType.UNARY,\n proto.riskmanager.api.risks.v1.RiskGetRequest,\n proto.riskmanager.api.risks.v1.RiskGetReply,\n /**\n * @param {!proto.riskmanager.api.risks.v1.RiskGetRequest} request\n * @return {!Uint8Array}\n */\n function(request) {\n return request.serializeBinary();\n },\n proto.riskmanager.api.risks.v1.RiskGetReply.deserializeBinary\n);\n\n\n/**\n * @param {!proto.riskmanager.api.risks.v1.RiskGetRequest} request The\n * request proto\n * @param {?Object} metadata User defined\n * call metadata\n * @param {function(?grpc.web.RpcError, ?proto.riskmanager.api.risks.v1.RiskGetReply)}\n * callback The callback function(error, response)\n * @return {!grpc.web.ClientReadableStream|undefined}\n * The XHR Node Readable Stream\n */\nproto.riskmanager.api.risks.v1.RiskServiceClient.prototype.get =\n function(request, metadata, callback) {\n return this.client_.rpcCall(this.hostname_ +\n '/riskmanager.api.risks.v1.RiskService/Get',\n request,\n metadata || {},\n methodDescriptor_RiskService_Get,\n callback);\n};\n\n\n/**\n * @param {!proto.riskmanager.api.risks.v1.RiskGetRequest} request The\n * request proto\n * @param {?Object=} metadata User defined\n * call metadata\n * @return {!Promise}\n * Promise that resolves to the response\n */\nproto.riskmanager.api.risks.v1.RiskServicePromiseClient.prototype.get =\n function(request, metadata) {\n return this.client_.unaryCall(this.hostname_ +\n '/riskmanager.api.risks.v1.RiskService/Get',\n request,\n metadata || {},\n methodDescriptor_RiskService_Get);\n};\n\n\n/**\n * @const\n * @type {!grpc.web.MethodDescriptor<\n * !proto.riskmanager.api.risks.v1.RiskGetAllAssessmentRequest,\n * !proto.riskmanager.api.risks.v1.RiskGetAllAssessmentReply>}\n */\nconst methodDescriptor_RiskService_GetFromAssessment = new grpc.web.MethodDescriptor(\n '/riskmanager.api.risks.v1.RiskService/GetFromAssessment',\n grpc.web.MethodType.UNARY,\n proto.riskmanager.api.risks.v1.RiskGetAllAssessmentRequest,\n proto.riskmanager.api.risks.v1.RiskGetAllAssessmentReply,\n /**\n * @param {!proto.riskmanager.api.risks.v1.RiskGetAllAssessmentRequest} request\n * @return {!Uint8Array}\n */\n function(request) {\n return request.serializeBinary();\n },\n proto.riskmanager.api.risks.v1.RiskGetAllAssessmentReply.deserializeBinary\n);\n\n\n/**\n * @param {!proto.riskmanager.api.risks.v1.RiskGetAllAssessmentRequest} request The\n * request proto\n * @param {?Object} metadata User defined\n * call metadata\n * @param {function(?grpc.web.RpcError, ?proto.riskmanager.api.risks.v1.RiskGetAllAssessmentReply)}\n * callback The callback function(error, response)\n * @return {!grpc.web.ClientReadableStream|undefined}\n * The XHR Node Readable Stream\n */\nproto.riskmanager.api.risks.v1.RiskServiceClient.prototype.getFromAssessment =\n function(request, metadata, callback) {\n return this.client_.rpcCall(this.hostname_ +\n '/riskmanager.api.risks.v1.RiskService/GetFromAssessment',\n request,\n metadata || {},\n methodDescriptor_RiskService_GetFromAssessment,\n callback);\n};\n\n\n/**\n * @param {!proto.riskmanager.api.risks.v1.RiskGetAllAssessmentRequest} request The\n * request proto\n * @param {?Object=} metadata User defined\n * call metadata\n * @return {!Promise}\n * Promise that resolves to the response\n */\nproto.riskmanager.api.risks.v1.RiskServicePromiseClient.prototype.getFromAssessment =\n function(request, metadata) {\n return this.client_.unaryCall(this.hostname_ +\n '/riskmanager.api.risks.v1.RiskService/GetFromAssessment',\n request,\n metadata || {},\n methodDescriptor_RiskService_GetFromAssessment);\n};\n\n\n/**\n * @const\n * @type {!grpc.web.MethodDescriptor<\n * !proto.riskmanager.api.risks.v1.RiskGetLatestRequest,\n * !proto.riskmanager.api.risks.v1.RiskGetLatestReply>}\n */\nconst methodDescriptor_RiskService_GetLatest = new grpc.web.MethodDescriptor(\n '/riskmanager.api.risks.v1.RiskService/GetLatest',\n grpc.web.MethodType.UNARY,\n proto.riskmanager.api.risks.v1.RiskGetLatestRequest,\n proto.riskmanager.api.risks.v1.RiskGetLatestReply,\n /**\n * @param {!proto.riskmanager.api.risks.v1.RiskGetLatestRequest} request\n * @return {!Uint8Array}\n */\n function(request) {\n return request.serializeBinary();\n },\n proto.riskmanager.api.risks.v1.RiskGetLatestReply.deserializeBinary\n);\n\n\n/**\n * @param {!proto.riskmanager.api.risks.v1.RiskGetLatestRequest} request The\n * request proto\n * @param {?Object} metadata User defined\n * call metadata\n * @param {function(?grpc.web.RpcError, ?proto.riskmanager.api.risks.v1.RiskGetLatestReply)}\n * callback The callback function(error, response)\n * @return {!grpc.web.ClientReadableStream|undefined}\n * The XHR Node Readable Stream\n */\nproto.riskmanager.api.risks.v1.RiskServiceClient.prototype.getLatest =\n function(request, metadata, callback) {\n return this.client_.rpcCall(this.hostname_ +\n '/riskmanager.api.risks.v1.RiskService/GetLatest',\n request,\n metadata || {},\n methodDescriptor_RiskService_GetLatest,\n callback);\n};\n\n\n/**\n * @param {!proto.riskmanager.api.risks.v1.RiskGetLatestRequest} request The\n * request proto\n * @param {?Object=} metadata User defined\n * call metadata\n * @return {!Promise}\n * Promise that resolves to the response\n */\nproto.riskmanager.api.risks.v1.RiskServicePromiseClient.prototype.getLatest =\n function(request, metadata) {\n return this.client_.unaryCall(this.hostname_ +\n '/riskmanager.api.risks.v1.RiskService/GetLatest',\n request,\n metadata || {},\n methodDescriptor_RiskService_GetLatest);\n};\n\n\n/**\n * @const\n * @type {!grpc.web.MethodDescriptor<\n * !proto.riskmanager.api.risks.v1.RiskDeleteRequest,\n * !proto.riskmanager.api.risks.v1.RiskDeleteReply>}\n */\nconst methodDescriptor_RiskService_Delete = new grpc.web.MethodDescriptor(\n '/riskmanager.api.risks.v1.RiskService/Delete',\n grpc.web.MethodType.UNARY,\n proto.riskmanager.api.risks.v1.RiskDeleteRequest,\n proto.riskmanager.api.risks.v1.RiskDeleteReply,\n /**\n * @param {!proto.riskmanager.api.risks.v1.RiskDeleteRequest} request\n * @return {!Uint8Array}\n */\n function(request) {\n return request.serializeBinary();\n },\n proto.riskmanager.api.risks.v1.RiskDeleteReply.deserializeBinary\n);\n\n\n/**\n * @param {!proto.riskmanager.api.risks.v1.RiskDeleteRequest} request The\n * request proto\n * @param {?Object} metadata User defined\n * call metadata\n * @param {function(?grpc.web.RpcError, ?proto.riskmanager.api.risks.v1.RiskDeleteReply)}\n * callback The callback function(error, response)\n * @return {!grpc.web.ClientReadableStream|undefined}\n * The XHR Node Readable Stream\n */\nproto.riskmanager.api.risks.v1.RiskServiceClient.prototype.delete =\n function(request, metadata, callback) {\n return this.client_.rpcCall(this.hostname_ +\n '/riskmanager.api.risks.v1.RiskService/Delete',\n request,\n metadata || {},\n methodDescriptor_RiskService_Delete,\n callback);\n};\n\n\n/**\n * @param {!proto.riskmanager.api.risks.v1.RiskDeleteRequest} request The\n * request proto\n * @param {?Object=} metadata User defined\n * call metadata\n * @return {!Promise}\n * Promise that resolves to the response\n */\nproto.riskmanager.api.risks.v1.RiskServicePromiseClient.prototype.delete =\n function(request, metadata) {\n return this.client_.unaryCall(this.hostname_ +\n '/riskmanager.api.risks.v1.RiskService/Delete',\n request,\n metadata || {},\n methodDescriptor_RiskService_Delete);\n};\n\n\n/**\n * @const\n * @type {!grpc.web.MethodDescriptor<\n * !proto.riskmanager.api.risks.v1.RiskSearchRequest,\n * !proto.riskmanager.api.risks.v1.RiskSearchReply>}\n */\nconst methodDescriptor_RiskService_Search = new grpc.web.MethodDescriptor(\n '/riskmanager.api.risks.v1.RiskService/Search',\n grpc.web.MethodType.UNARY,\n proto.riskmanager.api.risks.v1.RiskSearchRequest,\n proto.riskmanager.api.risks.v1.RiskSearchReply,\n /**\n * @param {!proto.riskmanager.api.risks.v1.RiskSearchRequest} request\n * @return {!Uint8Array}\n */\n function(request) {\n return request.serializeBinary();\n },\n proto.riskmanager.api.risks.v1.RiskSearchReply.deserializeBinary\n);\n\n\n/**\n * @param {!proto.riskmanager.api.risks.v1.RiskSearchRequest} request The\n * request proto\n * @param {?Object} metadata User defined\n * call metadata\n * @param {function(?grpc.web.RpcError, ?proto.riskmanager.api.risks.v1.RiskSearchReply)}\n * callback The callback function(error, response)\n * @return {!grpc.web.ClientReadableStream|undefined}\n * The XHR Node Readable Stream\n */\nproto.riskmanager.api.risks.v1.RiskServiceClient.prototype.search =\n function(request, metadata, callback) {\n return this.client_.rpcCall(this.hostname_ +\n '/riskmanager.api.risks.v1.RiskService/Search',\n request,\n metadata || {},\n methodDescriptor_RiskService_Search,\n callback);\n};\n\n\n/**\n * @param {!proto.riskmanager.api.risks.v1.RiskSearchRequest} request The\n * request proto\n * @param {?Object=} metadata User defined\n * call metadata\n * @return {!Promise}\n * Promise that resolves to the response\n */\nproto.riskmanager.api.risks.v1.RiskServicePromiseClient.prototype.search =\n function(request, metadata) {\n return this.client_.unaryCall(this.hostname_ +\n '/riskmanager.api.risks.v1.RiskService/Search',\n request,\n metadata || {},\n methodDescriptor_RiskService_Search);\n};\n\n\nmodule.exports = proto.riskmanager.api.risks.v1;\n\n"],"sourceRoot":""}