!function(e){"object"==typeof module&&"object"==typeof module.exports?e(require,exports):"function"==typeof define&&define.amd&&define(["require","exports","../../Validation","./tools","esri/geometry/geometryEngineAsync"],e)}(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=e("../../Validation"),r=e("./tools"),o=e("esri/geometry/geometryEngineAsync"),e=(i.prototype.executeUsing=function(e,t,i){return e?o.symmetricDifference(t,i):o.difference(t,i)},i.prototype.execute=function(e){var t=n.validation.array("geometry",e.geometry,n.validation.never),i=n.validation.exists("subtractor",e.subtractor),e=n.validation.boolean("symmetric",e.symmetric,!1),i=this.executeUsing(e,t,i);return r.inline(i,function(e){e=Array.isArray(e)?e:[e];return{geometry:e[0],results:e}})},i.action="gcx:wf:arcgis::DifferenceEngineTask",i.suite="gcx:wf:builtin",i);function i(){}t.DifferenceEngineTask=e});