From 1153be0c175948b8f43638b5ec8ee176a5c86835 Mon Sep 17 00:00:00 2001 From: Titus Lim Date: Sun, 25 Aug 2024 09:48:30 +0800 Subject: [PATCH 1/6] add cookbook scaffolding --- llamaindex-workflow/README.MD | 0 llamaindex-workflow/app.py | 189 +++++++++++++++++++++++++++ llamaindex-workflow/requirements.txt | 7 + 3 files changed, 196 insertions(+) create mode 100644 llamaindex-workflow/README.MD create mode 100644 llamaindex-workflow/app.py create mode 100644 llamaindex-workflow/requirements.txt diff --git a/llamaindex-workflow/README.MD b/llamaindex-workflow/README.MD new file mode 100644 index 000000000..e69de29bb diff --git a/llamaindex-workflow/app.py b/llamaindex-workflow/app.py new file mode 100644 index 000000000..53d8f38d3 --- /dev/null +++ b/llamaindex-workflow/app.py @@ -0,0 +1,189 @@ +import chainlit as cl + +import os + +from llama_index.core.agent import FunctionCallingAgentWorker +from llama_index.core.base.llms.types import ChatMessage, MessageRole +from llama_index.core.chat_engine import SimpleChatEngine +from llama_index.core.llms import LLM +from llama_index.core.workflow import ( + Workflow, + Context, + Event, + StartEvent, + StopEvent, + step +) +from llama_index.llms.openai import OpenAI +from llama_index.utils.workflow import ( + draw_all_possible_flows +) +from llama_index.tools.tavily_research import TavilyToolSpec + +from typing import Optional, Annotated, List + +llm = OpenAI(model="gpt-4o-mini") + +### Define tools +search_tool_spec = TavilyToolSpec(os.getenv("TAVILY")) +search_tools = search_tool_spec.to_tool_list() + +### Define events +class SearchEvent(Event): + """Requires the LLM to do an online search to answer the question""" + query: Annotated[str, "The user's query"] + +class AnswerEvent(Event): + """Allows the LLM to answer the question without searching""" + query: Annotated[str, "The user's query"] + +class ResponseEvent(Event): + """Collects LLM response""" + query: Annotated[str, "The user's query"] + answer: Annotated[str, "The LLM's response"] + +### Define workfow +class MixtureOfAnswers(Workflow): + def __init__( + self, + llm: Optional[LLM] = llm + ): + """Class constructor. Takes in an llm instance and constructs + 1. A function calling agent with search tools + 2. A simple chat engine instance + 3. A common memory instance across the workflow + + Args: + llm (Optional[LLM], optional): LLM instance. Defaults to Settings.llm. + """ + self.llm = llm + self.search_agent = FunctionCallingAgentWorker( + tools = search_tools, + llm = self.llm + ) + self.answer_without_search_engine = SimpleChatEngine.from_defaults( + llm = self.llm + ) + self.history: List[ChatMessage] = [] + + @cl.step(type="llm") + @step() + async def route_to_llm( + self, + ev: StartEvent + ) -> SearchEvent | AnswerEvent: + """Generates a search event and an answer event once given a start event""" + + ## Update memory + self.history.append( + ChatMessage( + role = MessageRole.USER, + content = ev.query + ) + ) + + ## Routes to both events. But you can also write a router component to decide + ## which event to route to. + self.send_event(SearchEvent(query = ev.query)) + self.send_event(AnswerEvent(query = ev.query)) + + @cl.step(type="tool") + @step() + async def search_and_answer( + self, + ev: SearchEvent + ) -> ResponseEvent: + """Uses the tavily search tool to answer the question""" + + ## Synthesize response + response = await self.search_agent.achat( + ev.query, + chat_history = self.history + ) + + ## [OPTIONAL] Show intermediate response in the frontend + # await cl.Message(content="ANSWER WITH SEARCH: " + str(response)).send() + + ## Update memory + self.history.append( + ChatMessage( + role = MessageRole.ASSISTANT, + content = "ANSWER WITH SEARCH: " + str(response) + ) + ) + + return ResponseEvent(query = ev.query, answer = str(response)) + + @cl.step(type="llm") + @step() + async def simply_answer( + self, + ev: AnswerEvent + ) -> ResponseEvent: + """Uses the LLM to simple answer the question""" + + ## Synthesize response + response = await self.answer_without_search_engine.achat( + ev.query, + chat_history = self.history + ) + + ## [OPTIONAL] Show intermediate response in the frontend + # await cl.Message(content="ANSWER WITHOUT SEARCH: " + str(response)).send() + + ## Update memory + self.history.append( + ChatMessage( + role = MessageRole.ASSISTANT, + content = "ANSWER WITHOUT SEARCH: " + str(response) + ) + ) + + return ResponseEvent(query = ev.query, answer = str(response)) + + @cl.step(type="llm") + @step() + async def compile( + self, + ctx: Context, + ev: ResponseEvent + ) -> StopEvent: + """Compiles and summarizes answers from all response events""" + + ## There are 2 response events from routing to 2 different agents. This can + ## also be a dynamic number of events. + ready = ctx.collect_events(ev, [ResponseEvent] * 2) + + if ready is None: + return None + + response = await self.llm.achat( + f""" + A user has asked us a question and we have responded accordingly using a + search tool and without using a search tool. Your job is to decide which + response best answered the question and summarize the response into a crisp + reply. If both responses answered the question, summarize both responses + into a single answer. + + The user's query was: {ev.query} + + The responses are: + {ready[0].answer} & + {ready[1].answer} + """ + ) + + return StopEvent(result = str(response)) + +### Define the app - with just a few lines of code +@cl.on_chat_start +async def on_chat_start(): + app = MixtureOfAnswers() + cl.user_session.set("app", app) + await cl.Message("Hello! Ask me anything!").send() + +@cl.on_message +async def on_message(message: cl.Message): + app = cl.user_session.get("app") + result = await app.run(query = message.content) + await cl.Message(content = result).send() \ No newline at end of file diff --git a/llamaindex-workflow/requirements.txt b/llamaindex-workflow/requirements.txt new file mode 100644 index 000000000..8006d5aa5 --- /dev/null +++ b/llamaindex-workflow/requirements.txt @@ -0,0 +1,7 @@ +chainlit==1.1.402 +llama-index==0.11.1 +llama-index-llms-openai==0.2.0 +llama-index-embeddings-openai==0.2.3 +llama-index-tools-tavily-research==0.2.0 +openai==1.42.0 +tavily-python==0.4.0 \ No newline at end of file From d6c8307b3194925d6fe8d53cd9d9cad9c5ce4a17 Mon Sep 17 00:00:00 2001 From: Titus Lim Date: Sun, 25 Aug 2024 09:49:06 +0800 Subject: [PATCH 2/6] add annotation --- llamaindex-workflow/app.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/llamaindex-workflow/app.py b/llamaindex-workflow/app.py index 53d8f38d3..e144c410a 100644 --- a/llamaindex-workflow/app.py +++ b/llamaindex-workflow/app.py @@ -15,9 +15,10 @@ step ) from llama_index.llms.openai import OpenAI -from llama_index.utils.workflow import ( - draw_all_possible_flows -) +## Utility function to draw out the workflow +# from llama_index.utils.workflow import ( +# draw_all_possible_flows +# ) from llama_index.tools.tavily_research import TavilyToolSpec from typing import Optional, Annotated, List From 83455ea70175eeeba0666700b00c3a7fae067d11 Mon Sep 17 00:00:00 2001 From: Titus Lim Date: Sun, 25 Aug 2024 09:49:51 +0800 Subject: [PATCH 3/6] add memory synchronization --- llamaindex-workflow/app.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/llamaindex-workflow/app.py b/llamaindex-workflow/app.py index e144c410a..666e6cab7 100644 --- a/llamaindex-workflow/app.py +++ b/llamaindex-workflow/app.py @@ -174,6 +174,14 @@ async def compile( """ ) + ## Update memory + self.history.append( + ChatMessage( + role = MessageRole.ASSISTANT, + content = "FINAL ANSWER: " + str(response) + ) + ) + return StopEvent(result = str(response)) ### Define the app - with just a few lines of code From dd3a8ca2f84c89888b9db78f6b60408e8d74c795 Mon Sep 17 00:00:00 2001 From: Titus Lim Date: Sun, 25 Aug 2024 15:42:56 +0800 Subject: [PATCH 4/6] cookbook commit --- llamaindex-workflow/.env.example | 0 llamaindex-workflow/README.MD | 31 ++ llamaindex-workflow/app.png | Bin 0 -> 192922 bytes llamaindex-workflow/app.py | 19 +- llamaindex-workflow/chainlit.md | 14 + llamaindex-workflow/get_workflow.ipynb | 306 +++++++++++++++ llamaindex-workflow/lib/bindings/utils.js | 189 ++++++++++ .../lib/tom-select/tom-select.complete.min.js | 356 ++++++++++++++++++ .../lib/tom-select/tom-select.css | 334 ++++++++++++++++ .../lib/vis-9.1.2/vis-network.css | 1 + .../lib/vis-9.1.2/vis-network.min.js | 27 ++ llamaindex-workflow/workflow.html | 155 ++++++++ llamaindex-workflow/workflow.png | Bin 0 -> 38016 bytes 13 files changed, 1426 insertions(+), 6 deletions(-) create mode 100644 llamaindex-workflow/.env.example create mode 100644 llamaindex-workflow/app.png create mode 100644 llamaindex-workflow/chainlit.md create mode 100644 llamaindex-workflow/get_workflow.ipynb create mode 100644 llamaindex-workflow/lib/bindings/utils.js create mode 100644 llamaindex-workflow/lib/tom-select/tom-select.complete.min.js create mode 100644 llamaindex-workflow/lib/tom-select/tom-select.css create mode 100644 llamaindex-workflow/lib/vis-9.1.2/vis-network.css create mode 100644 llamaindex-workflow/lib/vis-9.1.2/vis-network.min.js create mode 100644 llamaindex-workflow/workflow.html create mode 100644 llamaindex-workflow/workflow.png diff --git a/llamaindex-workflow/.env.example b/llamaindex-workflow/.env.example new file mode 100644 index 000000000..e69de29bb diff --git a/llamaindex-workflow/README.MD b/llamaindex-workflow/README.MD index e69de29bb..b5ef1dafa 100644 --- a/llamaindex-workflow/README.MD +++ b/llamaindex-workflow/README.MD @@ -0,0 +1,31 @@ +# LlamaIndex Workflow meets Chainlit +This cookbook aims to show how to use LlamaIndex's latest Workflow abstraction with Chainlit! + + + +## What is a Workflow? +A workflow is an event-driven abstraction. Unlike having to define agentic systems as digraphs, LlamaIndex's Workflow abstraction allows you to just define the events within the workflow and what happens when these events get triggered. The result is being able to write performant multi-agent / multi-llm applications within far fewer lines of code. Oh and it has type checking too so that goodbye type-related bugs! + +## Getting started +You will need your TAVILY API key and OpenAI API key to run this demo. Key those into your .env file. + +To install requirements: +``` +pip install -r requirements.txt +``` + +To run the app +``` +chainlit run app.py --watch +``` + +## The app +Our workflow application includes a function calling agent and a simple chat engine. When asked a question, the workflow triggers 2 events - a search online and answer event and a "simply answer" event without any searching. +- The first event uses Tavily to do the online search, and the agent then extracts the search results to reply. +- The second event simply uses the LLM to reply without any searching. + +Since the second event might cause the LLM to hallucinate, we have a 3rd `compilation` event to select the best answer. + +It really is quite simple to visualize the "chain of thought" in the workflow - simply add a `@cl.step` decorator on top of LlamaIndex's Workflow `@step` decorator for each workflow event. + + \ No newline at end of file diff --git a/llamaindex-workflow/app.png b/llamaindex-workflow/app.png new file mode 100644 index 0000000000000000000000000000000000000000..5c981e5501f52f45f10cfa9d3a92737e1307c9f3 GIT binary patch literal 192922 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%0Aln6Ex%o4GKuB0dNAoj@4F4! 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 SearchEvent | AnswerEvent:\n", + " \"\"\"Generates a search event and an answer event once given a start event\"\"\"\n", + " \n", + " ## Update memory\n", + " self.history.append(\n", + " ChatMessage(\n", + " role = MessageRole.USER,\n", + " content = ev.query\n", + " )\n", + " )\n", + " \n", + " ## Routes to both events. But you can also write a router component to decide \n", + " ## which event to route to.\n", + " self.send_event(SearchEvent(query = ev.query))\n", + " self.send_event(AnswerEvent(query = ev.query))\n", + " \n", + " @step()\n", + " async def search_and_answer(\n", + " self,\n", + " ev: SearchEvent\n", + " ) -> ResponseEvent:\n", + " \"\"\"Uses the tavily search tool to answer the question\"\"\"\n", + " \n", + " ## Synthesize response\n", + " response = await self.search_agent.achat(\n", + " ev.query, \n", + " chat_history = self.history\n", + " )\n", + " \n", + " ## [OPTIONAL] Show intermediate response in the frontend\n", + " # await cl.Message(content=\"ANSWER WITH SEARCH: \" + str(response)).send()\n", + " \n", + " ## Update memory\n", + " self.history.append(\n", + " ChatMessage(\n", + " role = MessageRole.ASSISTANT,\n", + " content = \"ANSWER WITH SEARCH: \" + str(response)\n", + " )\n", + " )\n", + " \n", + " return ResponseEvent(query = ev.query, answer = str(response))\n", + "\n", + " @step()\n", + " async def simply_answer(\n", + " self,\n", + " ev: AnswerEvent\n", + " ) -> ResponseEvent:\n", + " \"\"\"Uses the LLM to simple answer the question\"\"\"\n", + " \n", + " ## Synthesize response\n", + " response = await self.answer_without_search_engine.achat(\n", + " ev.query, \n", + " chat_history = self.history\n", + " )\n", + " \n", + " ## [OPTIONAL] Show intermediate response in the frontend\n", + " # await cl.Message(content=\"ANSWER WITHOUT SEARCH: \" + str(response)).send()\n", + " \n", + " ## Update memory\n", + " self.history.append(\n", + " ChatMessage(\n", + " role = MessageRole.ASSISTANT,\n", + " content = \"ANSWER WITHOUT SEARCH: \" + str(response)\n", + " )\n", + " )\n", + " \n", + " return ResponseEvent(query = ev.query, answer = str(response))\n", + " \n", + " @step()\n", + " async def compile(\n", + " self,\n", + " ctx: Context,\n", + " ev: ResponseEvent\n", + " ) -> StopEvent:\n", + " \"\"\"Compiles and summarizes answers from all response events\"\"\"\n", + " \n", + " ## There are 2 response events from routing to 2 different agents. This can\n", + " ## also be a dynamic number of events.\n", + " ready = ctx.collect_events(ev, [ResponseEvent] * 2) \n", + " \n", + " if ready is None:\n", + " return None\n", + " \n", + " response = await self.llm.acomplete(\n", + " f\"\"\"\n", + " A user has asked us a question and we have responded accordingly using a \n", + " search tool and without using a search tool. Your job is to decide which \n", + " response best answered the question and summarize the response into a crisp \n", + " reply. If both responses answered the question, summarize both responses\n", + " into a single answer.\n", + " \n", + " The user's query was: {ev.query}\n", + " \n", + " The responses are:\n", + " {ready[0].answer} &\n", + " {ready[1].answer}\n", + " \"\"\"\n", + " )\n", + " \n", + " ## Update memory\n", + " self.history.append(\n", + " ChatMessage(\n", + " role = MessageRole.ASSISTANT,\n", + " content = \"FINAL ANSWER: \" + str(response)\n", + " )\n", + " )\n", + " \n", + " return StopEvent(result = str(response))" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "workflow.html\n" + ] + } + ], + "source": [ + "draw_all_possible_flows(MixtureOfAnswers, filename=\"workflow.html\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "llamaindex", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.5" + }, + "orig_nbformat": 4, + "vscode": { + "interpreter": { + "hash": "4fb762c9777d81b920bdc4f2aaae00fd18dcefdd6f60d8272d61e705ce6e5d33" + } + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/llamaindex-workflow/lib/bindings/utils.js b/llamaindex-workflow/lib/bindings/utils.js new file mode 100644 index 000000000..088effe20 --- /dev/null +++ b/llamaindex-workflow/lib/bindings/utils.js @@ -0,0 +1,189 @@ +function neighbourhoodHighlight(params) { + // console.log("in nieghbourhoodhighlight"); + allNodes = nodes.get({ returnType: "Object" }); + // originalNodes = JSON.parse(JSON.stringify(allNodes)); + // if something is selected: + if (params.nodes.length > 0) { + highlightActive = true; + var i, j; + var selectedNode = params.nodes[0]; + var degrees = 2; + + // mark all nodes as hard to read. + for (let nodeId in allNodes) { + // nodeColors[nodeId] = allNodes[nodeId].color; + allNodes[nodeId].color = "rgba(200,200,200,0.5)"; + if (allNodes[nodeId].hiddenLabel === undefined) { + allNodes[nodeId].hiddenLabel = allNodes[nodeId].label; + allNodes[nodeId].label = undefined; + } + } + var connectedNodes = network.getConnectedNodes(selectedNode); + var allConnectedNodes = []; + + // get the second degree nodes + for (i = 1; i < degrees; i++) { + for (j = 0; j < connectedNodes.length; j++) { + allConnectedNodes = allConnectedNodes.concat( + network.getConnectedNodes(connectedNodes[j]) + ); + } + } + + // all second degree nodes get a different color and their label back + for (i = 0; i < allConnectedNodes.length; i++) { + // allNodes[allConnectedNodes[i]].color = "pink"; + allNodes[allConnectedNodes[i]].color = "rgba(150,150,150,0.75)"; + if (allNodes[allConnectedNodes[i]].hiddenLabel !== undefined) { + allNodes[allConnectedNodes[i]].label = + allNodes[allConnectedNodes[i]].hiddenLabel; + allNodes[allConnectedNodes[i]].hiddenLabel = undefined; + } + } + + // all first degree nodes get their own color and their label back + for (i = 0; i < connectedNodes.length; i++) { + // allNodes[connectedNodes[i]].color = undefined; + allNodes[connectedNodes[i]].color = nodeColors[connectedNodes[i]]; + if (allNodes[connectedNodes[i]].hiddenLabel !== undefined) { + allNodes[connectedNodes[i]].label = + allNodes[connectedNodes[i]].hiddenLabel; + allNodes[connectedNodes[i]].hiddenLabel = undefined; + } + } + + // the main node gets its own color and its label back. + // allNodes[selectedNode].color = undefined; + allNodes[selectedNode].color = nodeColors[selectedNode]; + if (allNodes[selectedNode].hiddenLabel !== undefined) { + allNodes[selectedNode].label = allNodes[selectedNode].hiddenLabel; + allNodes[selectedNode].hiddenLabel = undefined; + } + } else if (highlightActive === true) { + // console.log("highlightActive was true"); + // reset all nodes + for (let nodeId in allNodes) { + // allNodes[nodeId].color = "purple"; + allNodes[nodeId].color = nodeColors[nodeId]; + // delete allNodes[nodeId].color; + if (allNodes[nodeId].hiddenLabel !== undefined) { + allNodes[nodeId].label = allNodes[nodeId].hiddenLabel; + allNodes[nodeId].hiddenLabel = undefined; + } + } + highlightActive = false; + } + + // transform the object into an array + var updateArray = []; + if (params.nodes.length > 0) { + for (let nodeId in allNodes) { + if (allNodes.hasOwnProperty(nodeId)) { + // console.log(allNodes[nodeId]); + updateArray.push(allNodes[nodeId]); + } + } + nodes.update(updateArray); + } else { + // console.log("Nothing was selected"); + for (let nodeId in allNodes) { + if (allNodes.hasOwnProperty(nodeId)) { + // console.log(allNodes[nodeId]); + // allNodes[nodeId].color = {}; + updateArray.push(allNodes[nodeId]); + } + } + nodes.update(updateArray); + } +} + +function filterHighlight(params) { + allNodes = nodes.get({ returnType: "Object" }); + // if something is selected: + if (params.nodes.length > 0) { + filterActive = true; + let selectedNodes = params.nodes; + + // hiding all nodes and saving the label + for (let nodeId in allNodes) { + allNodes[nodeId].hidden = true; + if (allNodes[nodeId].savedLabel === undefined) { + allNodes[nodeId].savedLabel = allNodes[nodeId].label; + allNodes[nodeId].label = undefined; + } + } + + for (let i=0; i < selectedNodes.length; i++) { + allNodes[selectedNodes[i]].hidden = false; + if (allNodes[selectedNodes[i]].savedLabel !== undefined) { + allNodes[selectedNodes[i]].label = allNodes[selectedNodes[i]].savedLabel; + allNodes[selectedNodes[i]].savedLabel = undefined; + } + } + + } else if (filterActive === true) { + // reset all nodes + for (let nodeId in allNodes) { + allNodes[nodeId].hidden = false; + if (allNodes[nodeId].savedLabel !== undefined) { + allNodes[nodeId].label = allNodes[nodeId].savedLabel; + allNodes[nodeId].savedLabel = undefined; + } + } + filterActive = false; + } + + // transform the object into an array + var updateArray = []; + if (params.nodes.length > 0) { + for (let nodeId in allNodes) { + if (allNodes.hasOwnProperty(nodeId)) { + updateArray.push(allNodes[nodeId]); + } + } + nodes.update(updateArray); + } else { + for (let nodeId in allNodes) { + if (allNodes.hasOwnProperty(nodeId)) { + updateArray.push(allNodes[nodeId]); + } + } + nodes.update(updateArray); + } +} + +function selectNode(nodes) { + network.selectNodes(nodes); + neighbourhoodHighlight({ nodes: nodes }); + return nodes; +} + +function selectNodes(nodes) { + network.selectNodes(nodes); + filterHighlight({nodes: nodes}); + return nodes; +} + +function highlightFilter(filter) { + let selectedNodes = [] + let selectedProp = filter['property'] + if (filter['item'] === 'node') { + let allNodes = nodes.get({ returnType: "Object" }); + for (let nodeId in allNodes) { + if (allNodes[nodeId][selectedProp] && filter['value'].includes((allNodes[nodeId][selectedProp]).toString())) { + selectedNodes.push(nodeId) + } + } + } + else if (filter['item'] === 'edge'){ + let allEdges = edges.get({returnType: 'object'}); + // check if the selected property exists for selected edge and select the nodes connected to the edge + for (let edge in allEdges) { + if (allEdges[edge][selectedProp] && filter['value'].includes((allEdges[edge][selectedProp]).toString())) { + selectedNodes.push(allEdges[edge]['from']) + selectedNodes.push(allEdges[edge]['to']) + } + } + } + selectNodes(selectedNodes) +} \ No newline at end of file diff --git a/llamaindex-workflow/lib/tom-select/tom-select.complete.min.js b/llamaindex-workflow/lib/tom-select/tom-select.complete.min.js new file mode 100644 index 000000000..e2e0211fe --- /dev/null +++ b/llamaindex-workflow/lib/tom-select/tom-select.complete.min.js @@ -0,0 +1,356 @@ +/** +* Tom Select v2.0.0-rc.4 +* Licensed under the Apache License, Version 2.0 (the "License"); +*/ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).TomSelect=t()}(this,(function(){"use strict" +function e(e,t){e.split(/\s+/).forEach((e=>{t(e)}))}class t{constructor(){this._events={}}on(t,i){e(t,(e=>{this._events[e]=this._events[e]||[],this._events[e].push(i)}))}off(t,i){var s=arguments.length +0!==s?e(t,(e=>{if(1===s)return delete this._events[e] +e in this._events!=!1&&this._events[e].splice(this._events[e].indexOf(i),1)})):this._events={}}trigger(t,...i){var s=this +e(t,(e=>{if(e in s._events!=!1)for(let t of s._events[e])t.apply(s,i)}))}}var i +const s="[̀-ͯ·ʾ]",n=new RegExp(s,"g") +var o +const r={"æ":"ae","ⱥ":"a","ø":"o"},l=new RegExp(Object.keys(r).join("|"),"g"),a=[[67,67],[160,160],[192,438],[452,652],[961,961],[1019,1019],[1083,1083],[1281,1289],[1984,1984],[5095,5095],[7429,7441],[7545,7549],[7680,7935],[8580,8580],[9398,9449],[11360,11391],[42792,42793],[42802,42851],[42873,42897],[42912,42922],[64256,64260],[65313,65338],[65345,65370]],c=e=>e.normalize("NFKD").replace(n,"").toLowerCase().replace(l,(function(e){return r[e]})),d=(e,t="|")=>{if(1==e.length)return e[0] +var i=1 +return e.forEach((e=>{i=Math.max(i,e.length)})),1==i?"["+e.join("")+"]":"(?:"+e.join(t)+")"},p=e=>{if(1===e.length)return[[e]] +var t=[] +return p(e.substring(1)).forEach((function(i){var s=i.slice(0) +s[0]=e.charAt(0)+s[0],t.push(s),(s=i.slice(0)).unshift(e.charAt(0)),t.push(s)})),t},u=e=>{void 0===o&&(o=(()=>{var e={} +a.forEach((t=>{for(let s=t[0];s<=t[1];s++){let t=String.fromCharCode(s),n=c(t) +if(n!=t.toLowerCase()){n in e||(e[n]=[n]) +var i=new RegExp(d(e[n]),"iu") +t.match(i)||e[n].push(t)}}})) +var t=Object.keys(e) +t=t.sort(((e,t)=>t.length-e.length)),i=new RegExp("("+d(t)+"[̀-ͯ·ʾ]*)","g") +var s={} +return t.sort(((e,t)=>e.length-t.length)).forEach((t=>{var i=p(t).map((t=>(t=t.map((t=>e.hasOwnProperty(t)?d(e[t]):t)),d(t,"")))) +s[t]=d(i)})),s})()) +return e.normalize("NFKD").toLowerCase().split(i).map((e=>{if(""==e)return"" +const t=c(e) +if(o.hasOwnProperty(t))return o[t] +const i=e.normalize("NFC") +return i!=e?d([e,i]):e})).join("")},h=(e,t)=>{if(e)return e[t]},g=(e,t)=>{if(e){for(var i,s=t.split(".");(i=s.shift())&&(e=e[i]););return e}},f=(e,t,i)=>{var s,n +return e?-1===(n=(e+="").search(t.regex))?0:(s=t.string.length/e.length,0===n&&(s+=.5),s*i):0},v=e=>(e+"").replace(/([\$\(-\+\.\?\[-\^\{-\}])/g,"\\$1"),m=(e,t)=>{var i=e[t] +if("function"==typeof i)return i +i&&!Array.isArray(i)&&(e[t]=[i])},y=(e,t)=>{if(Array.isArray(e))e.forEach(t) +else for(var i in e)e.hasOwnProperty(i)&&t(e[i],i)},O=(e,t)=>"number"==typeof e&&"number"==typeof t?e>t?1:e(t=c(t+"").toLowerCase())?1:t>e?-1:0 +class b{constructor(e,t){this.items=e,this.settings=t||{diacritics:!0}}tokenize(e,t,i){if(!e||!e.length)return[] +const s=[],n=e.split(/\s+/) +var o +return i&&(o=new RegExp("^("+Object.keys(i).map(v).join("|")+"):(.*)$")),n.forEach((e=>{let i,n=null,r=null +o&&(i=e.match(o))&&(n=i[1],e=i[2]),e.length>0&&(r=v(e),this.settings.diacritics&&(r=u(r)),t&&(r="\\b"+r)),s.push({string:e,regex:r?new RegExp(r,"iu"):null,field:n})})),s}getScoreFunction(e,t){var i=this.prepareSearch(e,t) +return this._getScoreFunction(i)}_getScoreFunction(e){const t=e.tokens,i=t.length +if(!i)return function(){return 0} +const s=e.options.fields,n=e.weights,o=s.length,r=e.getAttrFn +if(!o)return function(){return 1} +const l=1===o?function(e,t){const i=s[0].field +return f(r(t,i),e,n[i])}:function(e,t){var i=0 +if(e.field){const s=r(t,e.field) +!e.regex&&s?i+=1/o:i+=f(s,e,1)}else y(n,((s,n)=>{i+=f(r(t,n),e,s)})) +return i/o} +return 1===i?function(e){return l(t[0],e)}:"and"===e.options.conjunction?function(e){for(var s,n=0,o=0;n{s+=l(t,e)})),s/i}}getSortFunction(e,t){var i=this.prepareSearch(e,t) +return this._getSortFunction(i)}_getSortFunction(e){var t,i,s +const n=this,o=e.options,r=!e.query&&o.sort_empty?o.sort_empty:o.sort,l=[],a=[] +if("function"==typeof r)return r.bind(this) +const c=function(t,i){return"$score"===t?i.score:e.getAttrFn(n.items[i.id],t)} +if(r)for(t=0,i=r.length;t{"string"==typeof t&&(t={field:t,weight:1}),e.push(t),i[t.field]="weight"in t?t.weight:1})),s.fields=e}return{options:s,query:e.toLowerCase().trim(),tokens:this.tokenize(e,s.respect_word_boundaries,i),total:0,items:[],weights:i,getAttrFn:s.nesting?g:h}}search(e,t){var i,s,n=this +s=this.prepareSearch(e,t),t=s.options,e=s.query +const o=t.score||n._getScoreFunction(s) +e.length?y(n.items,((e,n)=>{i=o(e),(!1===t.filter||i>0)&&s.items.push({score:i,id:n})})):y(n.items,((e,t)=>{s.items.push({score:1,id:t})})) +const r=n._getSortFunction(s) +return r&&s.items.sort(r),s.total=s.items.length,"number"==typeof t.limit&&(s.items=s.items.slice(0,t.limit)),s}}const w=e=>{if(e.jquery)return e[0] +if(e instanceof HTMLElement)return e +if(e.indexOf("<")>-1){let t=document.createElement("div") +return t.innerHTML=e.trim(),t.firstChild}return document.querySelector(e)},_=(e,t)=>{var i=document.createEvent("HTMLEvents") +i.initEvent(t,!0,!1),e.dispatchEvent(i)},I=(e,t)=>{Object.assign(e.style,t)},C=(e,...t)=>{var i=A(t);(e=x(e)).map((e=>{i.map((t=>{e.classList.add(t)}))}))},S=(e,...t)=>{var i=A(t);(e=x(e)).map((e=>{i.map((t=>{e.classList.remove(t)}))}))},A=e=>{var t=[] +return y(e,(e=>{"string"==typeof e&&(e=e.trim().split(/[\11\12\14\15\40]/)),Array.isArray(e)&&(t=t.concat(e))})),t.filter(Boolean)},x=e=>(Array.isArray(e)||(e=[e]),e),k=(e,t,i)=>{if(!i||i.contains(e))for(;e&&e.matches;){if(e.matches(t))return e +e=e.parentNode}},F=(e,t=0)=>t>0?e[e.length-1]:e[0],L=(e,t)=>{if(!e)return-1 +t=t||e.nodeName +for(var i=0;e=e.previousElementSibling;)e.matches(t)&&i++ +return i},P=(e,t)=>{y(t,((t,i)=>{null==t?e.removeAttribute(i):e.setAttribute(i,""+t)}))},E=(e,t)=>{e.parentNode&&e.parentNode.replaceChild(t,e)},T=(e,t)=>{if(null===t)return +if("string"==typeof t){if(!t.length)return +t=new RegExp(t,"i")}const i=e=>3===e.nodeType?(e=>{var i=e.data.match(t) +if(i&&e.data.length>0){var s=document.createElement("span") +s.className="highlight" +var n=e.splitText(i.index) +n.splitText(i[0].length) +var o=n.cloneNode(!0) +return s.appendChild(o),E(n,s),1}return 0})(e):((e=>{if(1===e.nodeType&&e.childNodes&&!/(script|style)/i.test(e.tagName)&&("highlight"!==e.className||"SPAN"!==e.tagName))for(var t=0;t0},render:{}} +const q=e=>null==e?null:D(e),D=e=>"boolean"==typeof e?e?"1":"0":e+"",N=e=>(e+"").replace(/&/g,"&").replace(//g,">").replace(/"/g,"""),z=(e,t)=>{var i +return function(s,n){var o=this +i&&(o.loading=Math.max(o.loading-1,0),clearTimeout(i)),i=setTimeout((function(){i=null,o.loadedSearches[s]=!0,e.call(o,s,n)}),t)}},R=(e,t,i)=>{var s,n=e.trigger,o={} +for(s in e.trigger=function(){var i=arguments[0] +if(-1===t.indexOf(i))return n.apply(e,arguments) +o[i]=arguments},i.apply(e,[]),e.trigger=n,o)n.apply(e,o[s])},H=(e,t=!1)=>{e&&(e.preventDefault(),t&&e.stopPropagation())},B=(e,t,i,s)=>{e.addEventListener(t,i,s)},K=(e,t)=>!!t&&(!!t[e]&&1===(t.altKey?1:0)+(t.ctrlKey?1:0)+(t.shiftKey?1:0)+(t.metaKey?1:0)),M=(e,t)=>{const i=e.getAttribute("id") +return i||(e.setAttribute("id",t),t)},Q=e=>e.replace(/[\\"']/g,"\\$&"),G=(e,t)=>{t&&e.append(t)} +function U(e,t){var i=Object.assign({},j,t),s=i.dataAttr,n=i.labelField,o=i.valueField,r=i.disabledField,l=i.optgroupField,a=i.optgroupLabelField,c=i.optgroupValueField,d=e.tagName.toLowerCase(),p=e.getAttribute("placeholder")||e.getAttribute("data-placeholder") +if(!p&&!i.allowEmptyOption){let t=e.querySelector('option[value=""]') +t&&(p=t.textContent)}var u,h,g,f,v,m,O={placeholder:p,options:[],optgroups:[],items:[],maxItems:null} +return"select"===d?(h=O.options,g={},f=1,v=e=>{var t=Object.assign({},e.dataset),i=s&&t[s] +return"string"==typeof i&&i.length&&(t=Object.assign(t,JSON.parse(i))),t},m=(e,t)=>{var s=q(e.value) +if(null!=s&&(s||i.allowEmptyOption)){if(g.hasOwnProperty(s)){if(t){var a=g[s][l] +a?Array.isArray(a)?a.push(t):g[s][l]=[a,t]:g[s][l]=t}}else{var c=v(e) +c[n]=c[n]||e.textContent,c[o]=c[o]||s,c[r]=c[r]||e.disabled,c[l]=c[l]||t,c.$option=e,g[s]=c,h.push(c)}e.selected&&O.items.push(s)}},O.maxItems=e.hasAttribute("multiple")?null:1,y(e.children,(e=>{var t,i,s +"optgroup"===(u=e.tagName.toLowerCase())?((s=v(t=e))[a]=s[a]||t.getAttribute("label")||"",s[c]=s[c]||f++,s[r]=s[r]||t.disabled,O.optgroups.push(s),i=s[c],y(t.children,(e=>{m(e,i)}))):"option"===u&&m(e)}))):(()=>{const t=e.getAttribute(s) +if(t)O.options=JSON.parse(t),y(O.options,(e=>{O.items.push(e[o])})) +else{var r=e.value.trim()||"" +if(!i.allowEmptyOption&&!r.length)return +const t=r.split(i.delimiter) +y(t,(e=>{const t={} +t[n]=e,t[o]=e,O.options.push(t)})),O.items=t}})(),Object.assign({},j,O,t)}var W=0 +class J extends(function(e){return e.plugins={},class extends e{constructor(...e){super(...e),this.plugins={names:[],settings:{},requested:{},loaded:{}}}static define(t,i){e.plugins[t]={name:t,fn:i}}initializePlugins(e){var t,i +const s=this,n=[] +if(Array.isArray(e))e.forEach((e=>{"string"==typeof e?n.push(e):(s.plugins.settings[e.name]=e.options,n.push(e.name))})) +else if(e)for(t in e)e.hasOwnProperty(t)&&(s.plugins.settings[t]=e[t],n.push(t)) +for(;i=n.shift();)s.require(i)}loadPlugin(t){var i=this,s=i.plugins,n=e.plugins[t] +if(!e.plugins.hasOwnProperty(t))throw new Error('Unable to find "'+t+'" plugin') +s.requested[t]=!0,s.loaded[t]=n.fn.apply(i,[i.plugins.settings[t]||{}]),s.names.push(t)}require(e){var t=this,i=t.plugins +if(!t.plugins.loaded.hasOwnProperty(e)){if(i.requested[e])throw new Error('Plugin has circular dependency ("'+e+'")') +t.loadPlugin(e)}return i.loaded[e]}}}(t)){constructor(e,t){var i +super(),this.order=0,this.isOpen=!1,this.isDisabled=!1,this.isInvalid=!1,this.isValid=!0,this.isLocked=!1,this.isFocused=!1,this.isInputHidden=!1,this.isSetup=!1,this.ignoreFocus=!1,this.hasOptions=!1,this.lastValue="",this.caretPos=0,this.loading=0,this.loadedSearches={},this.activeOption=null,this.activeItems=[],this.optgroups={},this.options={},this.userOptions={},this.items=[],W++ +var s=w(e) +if(s.tomselect)throw new Error("Tom Select already initialized on this element") +s.tomselect=this,i=(window.getComputedStyle&&window.getComputedStyle(s,null)).getPropertyValue("direction") +const n=U(s,t) +this.settings=n,this.input=s,this.tabIndex=s.tabIndex||0,this.is_select_tag="select"===s.tagName.toLowerCase(),this.rtl=/rtl/i.test(i),this.inputId=M(s,"tomselect-"+W),this.isRequired=s.required,this.sifter=new b(this.options,{diacritics:n.diacritics}),n.mode=n.mode||(1===n.maxItems?"single":"multi"),"boolean"!=typeof n.hideSelected&&(n.hideSelected="multi"===n.mode),"boolean"!=typeof n.hidePlaceholder&&(n.hidePlaceholder="multi"!==n.mode) +var o=n.createFilter +"function"!=typeof o&&("string"==typeof o&&(o=new RegExp(o)),o instanceof RegExp?n.createFilter=e=>o.test(e):n.createFilter=()=>!0),this.initializePlugins(n.plugins),this.setupCallbacks(),this.setupTemplates() +const r=w("
"),l=w("
"),a=this._render("dropdown"),c=w('
'),d=this.input.getAttribute("class")||"",p=n.mode +var u +if(C(r,n.wrapperClass,d,p),C(l,n.controlClass),G(r,l),C(a,n.dropdownClass,p),n.copyClassesToDropdown&&C(a,d),C(c,n.dropdownContentClass),G(a,c),w(n.dropdownParent||r).appendChild(a),n.hasOwnProperty("controlInput"))n.controlInput?(u=w(n.controlInput),this.focus_node=u):(u=w(""),this.focus_node=l) +else{u=w('') +y(["autocorrect","autocapitalize","autocomplete"],(e=>{s.getAttribute(e)&&P(u,{[e]:s.getAttribute(e)})})),u.tabIndex=-1,l.appendChild(u),this.focus_node=u}this.wrapper=r,this.dropdown=a,this.dropdown_content=c,this.control=l,this.control_input=u,this.setup()}setup(){const e=this,t=e.settings,i=e.control_input,s=e.dropdown,n=e.dropdown_content,o=e.wrapper,r=e.control,l=e.input,a=e.focus_node,c={passive:!0},d=e.inputId+"-ts-dropdown" +P(n,{id:d}),P(a,{role:"combobox","aria-haspopup":"listbox","aria-expanded":"false","aria-controls":d}) +const p=M(a,e.inputId+"-ts-control"),u="label[for='"+(e=>e.replace(/['"\\]/g,"\\$&"))(e.inputId)+"']",h=document.querySelector(u),g=e.focus.bind(e) +if(h){B(h,"click",g),P(h,{for:p}) +const t=M(h,e.inputId+"-ts-label") +P(a,{"aria-labelledby":t}),P(n,{"aria-labelledby":t})}if(o.style.width=l.style.width,e.plugins.names.length){const t="plugin-"+e.plugins.names.join(" plugin-") +C([o,s],t)}(null===t.maxItems||t.maxItems>1)&&e.is_select_tag&&P(l,{multiple:"multiple"}),e.settings.placeholder&&P(i,{placeholder:t.placeholder}),!e.settings.splitOn&&e.settings.delimiter&&(e.settings.splitOn=new RegExp("\\s*"+v(e.settings.delimiter)+"+\\s*")),t.load&&t.loadThrottle&&(t.load=z(t.load,t.loadThrottle)),e.control_input.type=l.type,B(s,"click",(t=>{const i=k(t.target,"[data-selectable]") +i&&(e.onOptionSelect(t,i),H(t,!0))})),B(r,"click",(t=>{var s=k(t.target,"[data-ts-item]",r) +s&&e.onItemSelect(t,s)?H(t,!0):""==i.value&&(e.onClick(),H(t,!0))})),B(i,"mousedown",(e=>{""!==i.value&&e.stopPropagation()})),B(a,"keydown",(t=>e.onKeyDown(t))),B(i,"keypress",(t=>e.onKeyPress(t))),B(i,"input",(t=>e.onInput(t))),B(a,"resize",(()=>e.positionDropdown()),c),B(a,"blur",(t=>e.onBlur(t))),B(a,"focus",(t=>e.onFocus(t))),B(a,"paste",(t=>e.onPaste(t))) +const f=t=>{const i=t.composedPath()[0] +if(!o.contains(i)&&!s.contains(i))return e.isFocused&&e.blur(),void e.inputState() +H(t,!0)} +var m=()=>{e.isOpen&&e.positionDropdown()} +B(document,"mousedown",f),B(window,"scroll",m,c),B(window,"resize",m,c),this._destroy=()=>{document.removeEventListener("mousedown",f),window.removeEventListener("sroll",m),window.removeEventListener("resize",m),h&&h.removeEventListener("click",g)},this.revertSettings={innerHTML:l.innerHTML,tabIndex:l.tabIndex},l.tabIndex=-1,l.insertAdjacentElement("afterend",e.wrapper),e.sync(!1),t.items=[],delete t.optgroups,delete t.options,B(l,"invalid",(t=>{e.isValid&&(e.isValid=!1,e.isInvalid=!0,e.refreshState())})),e.updateOriginalInput(),e.refreshItems(),e.close(!1),e.inputState(),e.isSetup=!0,l.disabled?e.disable():e.enable(),e.on("change",this.onChange),C(l,"tomselected","ts-hidden-accessible"),e.trigger("initialize"),!0===t.preload&&e.preload()}setupOptions(e=[],t=[]){this.addOptions(e),y(t,(e=>{this.registerOptionGroup(e)}))}setupTemplates(){var e=this,t=e.settings.labelField,i=e.settings.optgroupLabelField,s={optgroup:e=>{let t=document.createElement("div") +return t.className="optgroup",t.appendChild(e.options),t},optgroup_header:(e,t)=>'
'+t(e[i])+"
",option:(e,i)=>"
"+i(e[t])+"
",item:(e,i)=>"
"+i(e[t])+"
",option_create:(e,t)=>'
Add '+t(e.input)+"
",no_results:()=>'
No results found
',loading:()=>'
',not_loading:()=>{},dropdown:()=>"
"} +e.settings.render=Object.assign({},s,e.settings.render)}setupCallbacks(){var e,t,i={initialize:"onInitialize",change:"onChange",item_add:"onItemAdd",item_remove:"onItemRemove",item_select:"onItemSelect",clear:"onClear",option_add:"onOptionAdd",option_remove:"onOptionRemove",option_clear:"onOptionClear",optgroup_add:"onOptionGroupAdd",optgroup_remove:"onOptionGroupRemove",optgroup_clear:"onOptionGroupClear",dropdown_open:"onDropdownOpen",dropdown_close:"onDropdownClose",type:"onType",load:"onLoad",focus:"onFocus",blur:"onBlur"} +for(e in i)(t=this.settings[i[e]])&&this.on(e,t)}sync(e=!0){const t=this,i=e?U(t.input,{delimiter:t.settings.delimiter}):t.settings +t.setupOptions(i.options,i.optgroups),t.setValue(i.items,!0),t.lastQuery=null}onClick(){var e=this +if(e.activeItems.length>0)return e.clearActiveItems(),void e.focus() +e.isFocused&&e.isOpen?e.blur():e.focus()}onMouseDown(){}onChange(){_(this.input,"input"),_(this.input,"change")}onPaste(e){var t=this +t.isFull()||t.isInputHidden||t.isLocked?H(e):t.settings.splitOn&&setTimeout((()=>{var e=t.inputValue() +if(e.match(t.settings.splitOn)){var i=e.trim().split(t.settings.splitOn) +y(i,(e=>{t.createItem(e)}))}}),0)}onKeyPress(e){var t=this +if(!t.isLocked){var i=String.fromCharCode(e.keyCode||e.which) +return t.settings.create&&"multi"===t.settings.mode&&i===t.settings.delimiter?(t.createItem(),void H(e)):void 0}H(e)}onKeyDown(e){var t=this +if(t.isLocked)9!==e.keyCode&&H(e) +else{switch(e.keyCode){case 65:if(K(V,e))return H(e),void t.selectAll() +break +case 27:return t.isOpen&&(H(e,!0),t.close()),void t.clearActiveItems() +case 40:if(!t.isOpen&&t.hasOptions)t.open() +else if(t.activeOption){let e=t.getAdjacent(t.activeOption,1) +e&&t.setActiveOption(e)}return void H(e) +case 38:if(t.activeOption){let e=t.getAdjacent(t.activeOption,-1) +e&&t.setActiveOption(e)}return void H(e) +case 13:return void(t.isOpen&&t.activeOption?(t.onOptionSelect(e,t.activeOption),H(e)):t.settings.create&&t.createItem()&&H(e)) +case 37:return void t.advanceSelection(-1,e) +case 39:return void t.advanceSelection(1,e) +case 9:return void(t.settings.selectOnTab&&(t.isOpen&&t.activeOption&&(t.onOptionSelect(e,t.activeOption),H(e)),t.settings.create&&t.createItem()&&H(e))) +case 8:case 46:return void t.deleteSelection(e)}t.isInputHidden&&!K(V,e)&&H(e)}}onInput(e){var t=this +if(!t.isLocked){var i=t.inputValue() +t.lastValue!==i&&(t.lastValue=i,t.settings.shouldLoad.call(t,i)&&t.load(i),t.refreshOptions(),t.trigger("type",i))}}onFocus(e){var t=this,i=t.isFocused +if(t.isDisabled)return t.blur(),void H(e) +t.ignoreFocus||(t.isFocused=!0,"focus"===t.settings.preload&&t.preload(),i||t.trigger("focus"),t.activeItems.length||(t.showInput(),t.refreshOptions(!!t.settings.openOnFocus)),t.refreshState())}onBlur(e){if(!1!==document.hasFocus()){var t=this +if(t.isFocused){t.isFocused=!1,t.ignoreFocus=!1 +var i=()=>{t.close(),t.setActiveItem(),t.setCaret(t.items.length),t.trigger("blur")} +t.settings.create&&t.settings.createOnBlur?t.createItem(null,!1,i):i()}}}onOptionSelect(e,t){var i,s=this +t&&(t.parentElement&&t.parentElement.matches("[data-disabled]")||(t.classList.contains("create")?s.createItem(null,!0,(()=>{s.settings.closeAfterSelect&&s.close()})):void 0!==(i=t.dataset.value)&&(s.lastQuery=null,s.addItem(i),s.settings.closeAfterSelect&&s.close(),!s.settings.hideSelected&&e.type&&/click/.test(e.type)&&s.setActiveOption(t))))}onItemSelect(e,t){var i=this +return!i.isLocked&&"multi"===i.settings.mode&&(H(e),i.setActiveItem(t,e),!0)}canLoad(e){return!!this.settings.load&&!this.loadedSearches.hasOwnProperty(e)}load(e){const t=this +if(!t.canLoad(e))return +C(t.wrapper,t.settings.loadingClass),t.loading++ +const i=t.loadCallback.bind(t) +t.settings.load.call(t,e,i)}loadCallback(e,t){const i=this +i.loading=Math.max(i.loading-1,0),i.lastQuery=null,i.clearActiveOption(),i.setupOptions(e,t),i.refreshOptions(i.isFocused&&!i.isInputHidden),i.loading||S(i.wrapper,i.settings.loadingClass),i.trigger("load",e,t)}preload(){var e=this.wrapper.classList +e.contains("preloaded")||(e.add("preloaded"),this.load(""))}setTextboxValue(e=""){var t=this.control_input +t.value!==e&&(t.value=e,_(t,"update"),this.lastValue=e)}getValue(){return this.is_select_tag&&this.input.hasAttribute("multiple")?this.items:this.items.join(this.settings.delimiter)}setValue(e,t){R(this,t?[]:["change"],(()=>{this.clear(t),this.addItems(e,t)}))}setMaxItems(e){0===e&&(e=null),this.settings.maxItems=e,this.refreshState()}setActiveItem(e,t){var i,s,n,o,r,l,a=this +if("single"!==a.settings.mode){if(!e)return a.clearActiveItems(),void(a.isFocused&&a.showInput()) +if("click"===(i=t&&t.type.toLowerCase())&&K("shiftKey",t)&&a.activeItems.length){for(l=a.getLastActive(),(n=Array.prototype.indexOf.call(a.control.children,l))>(o=Array.prototype.indexOf.call(a.control.children,e))&&(r=n,n=o,o=r),s=n;s<=o;s++)e=a.control.children[s],-1===a.activeItems.indexOf(e)&&a.setActiveItemClass(e) +H(t)}else"click"===i&&K(V,t)||"keydown"===i&&K("shiftKey",t)?e.classList.contains("active")?a.removeActiveItem(e):a.setActiveItemClass(e):(a.clearActiveItems(),a.setActiveItemClass(e)) +a.hideInput(),a.isFocused||a.focus()}}setActiveItemClass(e){const t=this,i=t.control.querySelector(".last-active") +i&&S(i,"last-active"),C(e,"active last-active"),t.trigger("item_select",e),-1==t.activeItems.indexOf(e)&&t.activeItems.push(e)}removeActiveItem(e){var t=this.activeItems.indexOf(e) +this.activeItems.splice(t,1),S(e,"active")}clearActiveItems(){S(this.activeItems,"active"),this.activeItems=[]}setActiveOption(e){e!==this.activeOption&&(this.clearActiveOption(),e&&(this.activeOption=e,P(this.focus_node,{"aria-activedescendant":e.getAttribute("id")}),P(e,{"aria-selected":"true"}),C(e,"active"),this.scrollToOption(e)))}scrollToOption(e,t){if(!e)return +const i=this.dropdown_content,s=i.clientHeight,n=i.scrollTop||0,o=e.offsetHeight,r=e.getBoundingClientRect().top-i.getBoundingClientRect().top+n +r+o>s+n?this.scroll(r-s+o,t):r0||!e.isFocused&&e.settings.hidePlaceholder&&e.items.length>0?(e.setTextboxValue(),e.isInputHidden=!0):(e.settings.hidePlaceholder&&e.items.length>0&&P(e.control_input,{placeholder:""}),e.isInputHidden=!1),e.wrapper.classList.toggle("input-hidden",e.isInputHidden))}hideInput(){this.inputState()}showInput(){this.inputState()}inputValue(){return this.control_input.value.trim()}focus(){var e=this +e.isDisabled||(e.ignoreFocus=!0,e.control_input.offsetWidth?e.control_input.focus():e.focus_node.focus(),setTimeout((()=>{e.ignoreFocus=!1,e.onFocus()}),0))}blur(){this.focus_node.blur(),this.onBlur()}getScoreFunction(e){return this.sifter.getScoreFunction(e,this.getSearchOptions())}getSearchOptions(){var e=this.settings,t=e.sortField +return"string"==typeof e.sortField&&(t=[{field:e.sortField}]),{fields:e.searchField,conjunction:e.searchConjunction,sort:t,nesting:e.nesting}}search(e){var t,i,s,n=this,o=this.getSearchOptions() +if(n.settings.score&&"function"!=typeof(s=n.settings.score.call(n,e)))throw new Error('Tom Select "score" setting must be a function that returns a function') +if(e!==n.lastQuery?(n.lastQuery=e,i=n.sifter.search(e,Object.assign(o,{score:s})),n.currentResults=i):i=Object.assign({},n.currentResults),n.settings.hideSelected)for(t=i.items.length-1;t>=0;t--){let e=q(i.items[t].id) +e&&-1!==n.items.indexOf(e)&&i.items.splice(t,1)}return i}refreshOptions(e=!0){var t,i,s,n,o,r,l,a,c,d,p +const u={},h=[] +var g,f=this,v=f.inputValue(),m=f.search(v),O=f.activeOption,b=f.settings.shouldOpen||!1,w=f.dropdown_content +for(O&&(c=O.dataset.value,d=O.closest("[data-group]")),n=m.items.length,"number"==typeof f.settings.maxOptions&&(n=Math.min(n,f.settings.maxOptions)),n>0&&(b=!0),t=0;t0&&(l=l.cloneNode(!0),P(l,{id:n.$id+"-clone-"+i,"aria-selected":null}),l.classList.add("ts-cloned"),S(l,"active")),c==e&&d&&d.dataset.group===o&&(O=l),u[o].appendChild(l)}this.settings.lockOptgroupOrder&&h.sort(((e,t)=>(f.optgroups[e]&&f.optgroups[e].$order||0)-(f.optgroups[t]&&f.optgroups[t].$order||0))),l=document.createDocumentFragment(),y(h,(e=>{if(f.optgroups.hasOwnProperty(e)&&u[e].children.length){let t=document.createDocumentFragment(),i=f.render("optgroup_header",f.optgroups[e]) +G(t,i),G(t,u[e]) +let s=f.render("optgroup",{group:f.optgroups[e],options:t}) +G(l,s)}else G(l,u[e])})),w.innerHTML="",G(w,l),f.settings.highlight&&(g=w.querySelectorAll("span.highlight"),Array.prototype.forEach.call(g,(function(e){var t=e.parentNode +t.replaceChild(e.firstChild,e),t.normalize()})),m.query.length&&m.tokens.length&&y(m.tokens,(e=>{T(w,e.regex)}))) +var _=e=>{let t=f.render(e,{input:v}) +return t&&(b=!0,w.insertBefore(t,w.firstChild)),t} +if(f.loading?_("loading"):f.settings.shouldLoad.call(f,v)?0===m.items.length&&_("no_results"):_("not_loading"),(a=f.canCreate(v))&&(p=_("option_create")),f.hasOptions=m.items.length>0||a,b){if(m.items.length>0){if(!w.contains(O)&&"single"===f.settings.mode&&f.items.length&&(O=f.getOption(f.items[0])),!w.contains(O)){let e=0 +p&&!f.settings.addPrecedence&&(e=1),O=f.selectable()[e]}}else p&&(O=p) +e&&!f.isOpen&&(f.open(),f.scrollToOption(O,"auto")),f.setActiveOption(O)}else f.clearActiveOption(),e&&f.isOpen&&f.close(!1)}selectable(){return this.dropdown_content.querySelectorAll("[data-selectable]")}addOption(e,t=!1){const i=this +if(Array.isArray(e))return i.addOptions(e,t),!1 +const s=q(e[i.settings.valueField]) +return null!==s&&!i.options.hasOwnProperty(s)&&(e.$order=e.$order||++i.order,e.$id=i.inputId+"-opt-"+e.$order,i.options[s]=e,i.lastQuery=null,t&&(i.userOptions[s]=t,i.trigger("option_add",s,e)),s)}addOptions(e,t=!1){y(e,(e=>{this.addOption(e,t)}))}registerOption(e){return this.addOption(e)}registerOptionGroup(e){var t=q(e[this.settings.optgroupValueField]) +return null!==t&&(e.$order=e.$order||++this.order,this.optgroups[t]=e,t)}addOptionGroup(e,t){var i +t[this.settings.optgroupValueField]=e,(i=this.registerOptionGroup(t))&&this.trigger("optgroup_add",i,t)}removeOptionGroup(e){this.optgroups.hasOwnProperty(e)&&(delete this.optgroups[e],this.clearCache(),this.trigger("optgroup_remove",e))}clearOptionGroups(){this.optgroups={},this.clearCache(),this.trigger("optgroup_clear")}updateOption(e,t){const i=this +var s,n +const o=q(e),r=q(t[i.settings.valueField]) +if(null===o)return +if(!i.options.hasOwnProperty(o))return +if("string"!=typeof r)throw new Error("Value must be set in option data") +const l=i.getOption(o),a=i.getItem(o) +if(t.$order=t.$order||i.options[o].$order,delete i.options[o],i.uncacheValue(r),i.options[r]=t,l){if(i.dropdown_content.contains(l)){const e=i._render("option",t) +E(l,e),i.activeOption===l&&i.setActiveOption(e)}l.remove()}a&&(-1!==(n=i.items.indexOf(o))&&i.items.splice(n,1,r),s=i._render("item",t),a.classList.contains("active")&&C(s,"active"),E(a,s)),i.lastQuery=null}removeOption(e,t){const i=this +e=D(e),i.uncacheValue(e),delete i.userOptions[e],delete i.options[e],i.lastQuery=null,i.trigger("option_remove",e),i.removeItem(e,t)}clearOptions(){this.loadedSearches={},this.userOptions={},this.clearCache() +var e={} +y(this.options,((t,i)=>{this.items.indexOf(i)>=0&&(e[i]=this.options[i])})),this.options=this.sifter.items=e,this.lastQuery=null,this.trigger("option_clear")}getOption(e,t=!1){const i=q(e) +if(null!==i&&this.options.hasOwnProperty(i)){const e=this.options[i] +if(e.$div)return e.$div +if(t)return this._render("option",e)}return null}getAdjacent(e,t,i="option"){var s +if(!e)return null +s="item"==i?this.controlChildren():this.dropdown_content.querySelectorAll("[data-selectable]") +for(let i=0;i0?s[i+1]:s[i-1] +return null}getItem(e){if("object"==typeof e)return e +var t=q(e) +return null!==t?this.control.querySelector(`[data-value="${Q(t)}"]`):null}addItems(e,t){var i=this,s=Array.isArray(e)?e:[e] +for(let e=0,n=(s=s.filter((e=>-1===i.items.indexOf(e)))).length;e{var i,s +const n=this,o=n.settings.mode,r=q(e) +if((!r||-1===n.items.indexOf(r)||("single"===o&&n.close(),"single"!==o&&n.settings.duplicates))&&null!==r&&n.options.hasOwnProperty(r)&&("single"===o&&n.clear(t),"multi"!==o||!n.isFull())){if(i=n._render("item",n.options[r]),n.control.contains(i)&&(i=i.cloneNode(!0)),s=n.isFull(),n.items.splice(n.caretPos,0,r),n.insertAtCaret(i),n.isSetup){if(!n.isPending&&n.settings.hideSelected){let e=n.getOption(r),t=n.getAdjacent(e,1) +t&&n.setActiveOption(t)}n.isPending||n.refreshOptions(n.isFocused&&"single"!==o),0!=n.settings.closeAfterSelect&&n.isFull()?n.close():n.isPending||n.positionDropdown(),n.trigger("item_add",r,i),n.isPending||n.updateOriginalInput({silent:t})}(!n.isPending||!s&&n.isFull())&&(n.inputState(),n.refreshState())}}))}removeItem(e=null,t){const i=this +if(!(e=i.getItem(e)))return +var s,n +const o=e.dataset.value +s=L(e),e.remove(),e.classList.contains("active")&&(n=i.activeItems.indexOf(e),i.activeItems.splice(n,1),S(e,"active")),i.items.splice(s,1),i.lastQuery=null,!i.settings.persist&&i.userOptions.hasOwnProperty(o)&&i.removeOption(o,t),s{})){var s,n=this,o=n.caretPos +if(e=e||n.inputValue(),!n.canCreate(e))return i(),!1 +n.lock() +var r=!1,l=e=>{if(n.unlock(),!e||"object"!=typeof e)return i() +var s=q(e[n.settings.valueField]) +if("string"!=typeof s)return i() +n.setTextboxValue(),n.addOption(e,!0),n.setCaret(o),n.addItem(s),n.refreshOptions(t&&"single"!==n.settings.mode),i(e),r=!0} +return s="function"==typeof n.settings.create?n.settings.create.call(this,e,l):{[n.settings.labelField]:e,[n.settings.valueField]:e},r||l(s),!0}refreshItems(){var e=this +e.lastQuery=null,e.isSetup&&e.addItems(e.items),e.updateOriginalInput(),e.refreshState()}refreshState(){const e=this +e.refreshValidityState() +const t=e.isFull(),i=e.isLocked +e.wrapper.classList.toggle("rtl",e.rtl) +const s=e.wrapper.classList +var n +s.toggle("focus",e.isFocused),s.toggle("disabled",e.isDisabled),s.toggle("required",e.isRequired),s.toggle("invalid",!e.isValid),s.toggle("locked",i),s.toggle("full",t),s.toggle("input-active",e.isFocused&&!e.isInputHidden),s.toggle("dropdown-active",e.isOpen),s.toggle("has-options",(n=e.options,0===Object.keys(n).length)),s.toggle("has-items",e.items.length>0)}refreshValidityState(){var e=this +e.input.checkValidity&&(e.isValid=e.input.checkValidity(),e.isInvalid=!e.isValid)}isFull(){return null!==this.settings.maxItems&&this.items.length>=this.settings.maxItems}updateOriginalInput(e={}){const t=this +var i,s +const n=t.input.querySelector('option[value=""]') +if(t.is_select_tag){const e=[] +function o(i,s,o){return i||(i=w('")),i!=n&&t.input.append(i),e.push(i),i.selected=!0,i}t.input.querySelectorAll("option:checked").forEach((e=>{e.selected=!1})),0==t.items.length&&"single"==t.settings.mode?o(n,"",""):t.items.forEach((n=>{if(i=t.options[n],s=i[t.settings.labelField]||"",e.includes(i.$option)){o(t.input.querySelector(`option[value="${Q(n)}"]:not(:checked)`),n,s)}else i.$option=o(i.$option,n,s)}))}else t.input.value=t.getValue() +t.isSetup&&(e.silent||t.trigger("change",t.getValue()))}open(){var e=this +e.isLocked||e.isOpen||"multi"===e.settings.mode&&e.isFull()||(e.isOpen=!0,P(e.focus_node,{"aria-expanded":"true"}),e.refreshState(),I(e.dropdown,{visibility:"hidden",display:"block"}),e.positionDropdown(),I(e.dropdown,{visibility:"visible",display:"block"}),e.focus(),e.trigger("dropdown_open",e.dropdown))}close(e=!0){var t=this,i=t.isOpen +e&&(t.setTextboxValue(),"single"===t.settings.mode&&t.items.length&&t.hideInput()),t.isOpen=!1,P(t.focus_node,{"aria-expanded":"false"}),I(t.dropdown,{display:"none"}),t.settings.hideSelected&&t.clearActiveOption(),t.refreshState(),i&&t.trigger("dropdown_close",t.dropdown)}positionDropdown(){if("body"===this.settings.dropdownParent){var e=this.control,t=e.getBoundingClientRect(),i=e.offsetHeight+t.top+window.scrollY,s=t.left+window.scrollX +I(this.dropdown,{width:t.width+"px",top:i+"px",left:s+"px"})}}clear(e){var t=this +if(t.items.length){var i=t.controlChildren() +y(i,(e=>{t.removeItem(e,!0)})),t.showInput(),e||t.updateOriginalInput(),t.trigger("clear")}}insertAtCaret(e){const t=this,i=t.caretPos,s=t.control +s.insertBefore(e,s.children[i]),t.setCaret(i+1)}deleteSelection(e){var t,i,s,n,o,r=this +t=e&&8===e.keyCode?-1:1,i={start:(o=r.control_input).selectionStart||0,length:(o.selectionEnd||0)-(o.selectionStart||0)} +const l=[] +if(r.activeItems.length)n=F(r.activeItems,t),s=L(n),t>0&&s++,y(r.activeItems,(e=>l.push(e))) +else if((r.isFocused||"single"===r.settings.mode)&&r.items.length){const e=r.controlChildren() +t<0&&0===i.start&&0===i.length?l.push(e[r.caretPos-1]):t>0&&i.start===r.inputValue().length&&l.push(e[r.caretPos])}const a=l.map((e=>e.dataset.value)) +if(!a.length||"function"==typeof r.settings.onDelete&&!1===r.settings.onDelete.call(r,a,e))return!1 +for(H(e,!0),void 0!==s&&r.setCaret(s);l.length;)r.removeItem(l.pop()) +return r.showInput(),r.positionDropdown(),r.refreshOptions(!1),!0}advanceSelection(e,t){var i,s,n=this +n.rtl&&(e*=-1),n.inputValue().length||(K(V,t)||K("shiftKey",t)?(s=(i=n.getLastActive(e))?i.classList.contains("active")?n.getAdjacent(i,e,"item"):i:e>0?n.control_input.nextElementSibling:n.control_input.previousElementSibling)&&(s.classList.contains("active")&&n.removeActiveItem(i),n.setActiveItemClass(s)):n.moveCaret(e))}moveCaret(e){}getLastActive(e){let t=this.control.querySelector(".last-active") +if(t)return t +var i=this.control.querySelectorAll(".active") +return i?F(i,e):void 0}setCaret(e){this.caretPos=this.items.length}controlChildren(){return Array.from(this.control.querySelectorAll("[data-ts-item]"))}lock(){this.close(),this.isLocked=!0,this.refreshState()}unlock(){this.isLocked=!1,this.refreshState()}disable(){var e=this +e.input.disabled=!0,e.control_input.disabled=!0,e.focus_node.tabIndex=-1,e.isDisabled=!0,e.lock()}enable(){var e=this +e.input.disabled=!1,e.control_input.disabled=!1,e.focus_node.tabIndex=e.tabIndex,e.isDisabled=!1,e.unlock()}destroy(){var e=this,t=e.revertSettings +e.trigger("destroy"),e.off(),e.wrapper.remove(),e.dropdown.remove(),e.input.innerHTML=t.innerHTML,e.input.tabIndex=t.tabIndex,S(e.input,"tomselected","ts-hidden-accessible"),e._destroy(),delete e.input.tomselect}render(e,t){return"function"!=typeof this.settings.render[e]?null:this._render(e,t)}_render(e,t){var i,s,n="" +const o=this +return"option"!==e&&"item"!=e||(n=D(t[o.settings.valueField])),null==(s=o.settings.render[e].call(this,t,N))||(s=w(s),"option"===e||"option_create"===e?t[o.settings.disabledField]?P(s,{"aria-disabled":"true"}):P(s,{"data-selectable":""}):"optgroup"===e&&(i=t.group[o.settings.optgroupValueField],P(s,{"data-group":i}),t.group[o.settings.disabledField]&&P(s,{"data-disabled":""})),"option"!==e&&"item"!==e||(P(s,{"data-value":n}),"item"===e?(C(s,o.settings.itemClass),P(s,{"data-ts-item":""})):(C(s,o.settings.optionClass),P(s,{role:"option",id:t.$id}),o.options[n].$div=s))),s}clearCache(){y(this.options,((e,t)=>{e.$div&&(e.$div.remove(),delete e.$div)}))}uncacheValue(e){const t=this.getOption(e) +t&&t.remove()}canCreate(e){return this.settings.create&&e.length>0&&this.settings.createFilter.call(this,e)}hook(e,t,i){var s=this,n=s[t] +s[t]=function(){var t,o +return"after"===e&&(t=n.apply(s,arguments)),o=i.apply(s,arguments),"instead"===e?o:("before"===e&&(t=n.apply(s,arguments)),t)}}}return J.define("change_listener",(function(){B(this.input,"change",(()=>{this.sync()}))})),J.define("checkbox_options",(function(){var e=this,t=e.onOptionSelect +e.settings.hideSelected=!1 +var i=function(e){setTimeout((()=>{var t=e.querySelector("input") +e.classList.contains("selected")?t.checked=!0:t.checked=!1}),1)} +e.hook("after","setupTemplates",(()=>{var t=e.settings.render.option +e.settings.render.option=(i,s)=>{var n=w(t.call(e,i,s)),o=document.createElement("input") +o.addEventListener("click",(function(e){H(e)})),o.type="checkbox" +const r=q(i[e.settings.valueField]) +return r&&e.items.indexOf(r)>-1&&(o.checked=!0),n.prepend(o),n}})),e.on("item_remove",(t=>{var s=e.getOption(t) +s&&(s.classList.remove("selected"),i(s))})),e.hook("instead","onOptionSelect",((s,n)=>{if(n.classList.contains("selected"))return n.classList.remove("selected"),e.removeItem(n.dataset.value),e.refreshOptions(),void H(s,!0) +t.call(e,s,n),i(n)}))})),J.define("clear_button",(function(e){const t=this,i=Object.assign({className:"clear-button",title:"Clear All",html:e=>`
×
`},e) +t.on("initialize",(()=>{var e=w(i.html(i)) +e.addEventListener("click",(e=>{t.clear(),"single"===t.settings.mode&&t.settings.allowEmptyOption&&t.addItem(""),e.preventDefault(),e.stopPropagation()})),t.control.appendChild(e)}))})),J.define("drag_drop",(function(){var e=this +if(!$.fn.sortable)throw new Error('The "drag_drop" plugin requires jQuery UI "sortable".') +if("multi"===e.settings.mode){var t=e.lock,i=e.unlock +e.hook("instead","lock",(()=>{var i=$(e.control).data("sortable") +return i&&i.disable(),t.call(e)})),e.hook("instead","unlock",(()=>{var t=$(e.control).data("sortable") +return t&&t.enable(),i.call(e)})),e.on("initialize",(()=>{var t=$(e.control).sortable({items:"[data-value]",forcePlaceholderSize:!0,disabled:e.isLocked,start:(e,i)=>{i.placeholder.css("width",i.helper.css("width")),t.css({overflow:"visible"})},stop:()=>{t.css({overflow:"hidden"}) +var i=[] +t.children("[data-value]").each((function(){this.dataset.value&&i.push(this.dataset.value)})),e.setValue(i)}})}))}})),J.define("dropdown_header",(function(e){const t=this,i=Object.assign({title:"Untitled",headerClass:"dropdown-header",titleRowClass:"dropdown-header-title",labelClass:"dropdown-header-label",closeClass:"dropdown-header-close",html:e=>'
'},e) +t.on("initialize",(()=>{var e=w(i.html(i)),s=e.querySelector("."+i.closeClass) +s&&s.addEventListener("click",(e=>{H(e,!0),t.close()})),t.dropdown.insertBefore(e,t.dropdown.firstChild)}))})),J.define("caret_position",(function(){var e=this +e.hook("instead","setCaret",(t=>{"single"!==e.settings.mode&&e.control.contains(e.control_input)?(t=Math.max(0,Math.min(e.items.length,t)))==e.caretPos||e.isPending||e.controlChildren().forEach(((i,s)=>{s{if(!e.isFocused)return +const i=e.getLastActive(t) +if(i){const s=L(i) +e.setCaret(t>0?s+1:s),e.setActiveItem()}else e.setCaret(e.caretPos+t)}))})),J.define("dropdown_input",(function(){var e=this +e.settings.shouldOpen=!0,e.hook("before","setup",(()=>{e.focus_node=e.control,C(e.control_input,"dropdown-input") +const t=w('